
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Switch with 1 destination removed at 0x00012240 */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */

void MHD_stop_daemon(MHD_Daemon *daemon)

{
  uint16_t uVar1;
  short sVar2;
  void *pvVar3;
  code *pcVar4;
  ssize_t sVar5;
  int *piVar6;
  uint uVar7;
  int iVar8;
  uint64_t *puVar9;
  MHD_Daemon *pMVar10;
  MHD_Result MVar11;
  MHD_NonceNc *pMVar12;
  int iVar13;
  MHD_FLAG MVar14;
  MHD_socket MVar15;
  char *pcVar16;
  MHD_AccessHandlerCallback p_Var17;
  undefined1 *puVar18;
  MHD_Daemon *pMVar19;
  va_list ap;
  undefined4 extraout_ECX;
  undefined4 uVar20;
  MHD_Daemon *extraout_EDX;
  undefined1 *puVar21;
  undefined4 *puVar22;
  undefined4 *puVar23;
  undefined1 *puVar24;
  undefined4 *puVar25;
  undefined1 *puVar26;
  undefined4 *puVar27;
  uint unaff_EBP;
  MHD_mutex_ *pMVar28;
  MHD_mutex_ *pMVar29;
  uint64_t *unaff_EDI;
  int in_GS_OFFSET;
  bool bVar30;
  byte bVar31;
  undefined1 auStack_2c [12];
  uint64_t *puStack_20;
  undefined4 uStack_14;
  undefined4 uStack_10;
  
  bVar31 = 0;
  uStack_10 = 0x30000;
  uStack_14 = 0x1b6f9;
  puVar26 = auStack_2c;
  puVar18 = auStack_2c;
  puVar27 = (undefined4 *)auStack_2c;
  puVar21 = auStack_2c;
  if (daemon == (MHD_Daemon *)0x0) {
    return;
  }
  daemon->shutdown = true;
  pMVar10 = daemon->worker_pool;
  if (daemon->was_quiesced == false) {
    unaff_EDI = (uint64_t *)daemon->listen_fd;
    puStack_20 = unaff_EDI;
    puVar18 = auStack_2c;
    if (pMVar10 == (MHD_Daemon *)0x0) {
      do {
        puVar26 = puVar18;
        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {
LAB_0001ba78:
          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;
          close_all_connections(daemon);
        }
        else {
          puVar9 = (uint64_t *)(daemon->itc).fd;
          if (puVar9 == (uint64_t *)0xffffffff) {
            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {
              *(undefined4 *)(puVar18 + -0xc) = 2;
              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);
              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;
              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));
            }
          }
          else {
LAB_0001ba20:
            *(undefined4 *)(puVar18 + -8) = 8;
            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;
            *(uint64_t **)(puVar18 + -0x10) = puVar9;
            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;
            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),
                          *(size_t *)(puVar18 + -8));
            if (sVar5 < 1) {
              *(undefined4 *)(puVar18 + -4) = 0x1ba42;
              piVar6 = __errno_location();
              if (*piVar6 != 0xb) {
                *(char **)(puVar18 + -4) =
                     "Failed to signal shutdown via inter-thread communication channel.\n";
                *(undefined4 *)(puVar18 + -8) = 0x1ae5;
                *(char **)(puVar18 + -0xc) = "daemon.c";
                puVar26 = puVar18 + -0x10;
                *(void **)(puVar18 + -0x10) = mhd_panic_cls;
                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;
                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),
                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));
LAB_0001ba70:
                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;
                goto LAB_0001ba78;
              }
            }
          }
LAB_0001b8f8:
          *(undefined4 *)(puVar18 + -0xc) = 0;
          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;
          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;
          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));
          puVar26 = puVar18;
          if (iVar8 != 0) goto LAB_0001bad2;
        }
        iVar8 = (daemon->itc).fd;
        if (iVar8 != -1) {
          *(int *)(puVar26 + -0x10) = iVar8;
          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;
          iVar8 = close(*(int *)(puVar26 + -0x10));
          if (iVar8 != 0) {
            *(undefined4 *)(puVar26 + -4) = 0x1b933;
            piVar6 = __errno_location();
            if (*piVar6 == 9) {
              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";
              *(undefined4 *)(puVar26 + -8) = 0x1b02;
              *(char **)(puVar26 + -0xc) = "daemon.c";
              puVar27 = (undefined4 *)(puVar26 + -0x10);
              *(void **)(puVar26 + -0x10) = mhd_panic_cls;
              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;
              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),
                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));
              goto LAB_0001bab3;
            }
          }
        }
        puVar27 = (undefined4 *)puVar26;
        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {
          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;
          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;
          iVar8 = close(*(int *)(puVar26 + -0x10));
          if (iVar8 != 0) {
            *(undefined4 *)(puVar26 + -4) = 0x1b965;
            piVar6 = __errno_location();
            if (*piVar6 == 9) {
              *(char **)(puVar26 + -4) = "Close socket failed.\n";
              *(undefined4 *)(puVar26 + -8) = 0x1b07;
              *(char **)(puVar26 + -0xc) = "daemon.c";
              puVar27 = (undefined4 *)(puVar26 + -0x10);
              *(void **)(puVar26 + -0x10) = mhd_panic_cls;
              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;
              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),
                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));
            }
          }
        }
        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;
        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;
        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));
        if (iVar8 == 0) goto LAB_0001b81d;
        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";
        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;
        *(char **)((int)puVar27 + -0xc) = "daemon.c";
        puVar18 = (undefined1 *)((int)puVar27 + -0x10);
        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;
        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;
        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),
                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));
      } while( true );
    }
    if (daemon->worker_pool_size == 0) {
      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;
      unaff_EDI = (uint64_t *)0x0;
      if (bVar30) {
        unaff_EDI = (uint64_t *)0x0;
        goto LAB_0001b8ba;
      }
LAB_0001b7cf:
      *(undefined4 *)((int)puVar27 + -0xc) = 2;
      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);
      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;
      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));
      uVar7 = daemon->worker_pool_size;
    }
    else {
LAB_0001b747:
      unaff_EBP = 0;
      unaff_EDI = &_MHD_itc_wr_data;
      while( true ) {
        pMVar10[unaff_EBP].shutdown = true;
        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;
        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&
           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;
        uVar7 = daemon->worker_pool_size;
        unaff_EBP = unaff_EBP + 1;
        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;
        pMVar10 = daemon->worker_pool;
      }
      puVar21 = &stack0xffffffc4;
      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,
                           "Failed to signal shutdown via inter-thread communication channel.\n");
LAB_0001b7c8:
      puVar27 = (undefined4 *)puVar21;
      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;
    }
    pMVar10 = daemon->worker_pool;
    if (uVar7 != 0) {
      puVar9 = (uint64_t *)0x0;
      do {
        unaff_EDI = (uint64_t *)((int)puVar9 + 1);
        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;
        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;
        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));
        pMVar10 = daemon->worker_pool;
        puVar9 = unaff_EDI;
      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);
    }
    *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;
    free(*(void **)((int)puVar27 + -0x10));
LAB_0001b81d:
    if (daemon->master != (MHD_Daemon *)0x0) {
      return;
    }
    if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;
    *(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);
    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;
    iVar8 = close(*(int *)((int)puVar27 + -0x10));
    if (iVar8 == 0) goto LAB_0001b84b;
    *(undefined4 *)((int)puVar27 + -4) = 0x1b842;
    piVar6 = __errno_location();
    if (*piVar6 != 9) goto LAB_0001b84b;
LAB_0001bab3:
    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";
    *(undefined4 *)((int)puVar27 + -8) = 0x1b19;
    *(char **)((int)puVar27 + -0xc) = "daemon.c";
    puVar18 = (undefined1 *)((int)puVar27 + -0x10);
    *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;
    *(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;
    (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),
                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));
LAB_0001bad2:
    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";
    *(undefined4 *)(puVar18 + -8) = 0x1af7;
    *(char **)(puVar18 + -0xc) = "daemon.c";
    puVar26 = puVar18 + -0x10;
    *(void **)(puVar18 + -0x10) = mhd_panic_cls;
    *(undefined4 *)(puVar18 + -0x14) = 0x1baf1;
    (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),
                 *(char **)(puVar18 + -4));
LAB_0001baf1:
    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";
    *(undefined4 *)(puVar26 + -8) = 0x1b2f;
    *(char **)(puVar26 + -0xc) = "daemon.c";
    puVar27 = (undefined4 *)(puVar26 + -0x10);
    *(void **)(puVar26 + -0x10) = mhd_panic_cls;
    *(undefined4 *)(puVar26 + -0x14) = 0x1bb10;
    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),
                 *(char **)(puVar26 + -4));
  }
  else {
    if (pMVar10 == (MHD_Daemon *)0x0) {
      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;
      puVar9 = (uint64_t *)(daemon->itc).fd;
      puStack_20 = puVar9;
      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;
      puStack_20 = (uint64_t *)0xffffffff;
      puVar18 = auStack_2c;
      goto LAB_0001ba20;
    }
    unaff_EBP = daemon->worker_pool_size;
    puStack_20 = (uint64_t *)0xffffffff;
    if (unaff_EBP != 0) goto LAB_0001b747;
LAB_0001b8ba:
    free(pMVar10);
    puVar27 = (undefined4 *)auStack_2c;
    if (daemon->master != (MHD_Daemon *)0x0) {
      return;
    }
LAB_0001b84b:
    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;
    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;
    free(*(void **)((int)puVar27 + -0x10));
    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;
    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;
    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));
    puVar26 = (undefined1 *)puVar27;
    if (iVar8 != 0) goto LAB_0001baf1;
    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;
    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;
    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));
    if (iVar8 == 0) {
      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;
      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;
      free(*(void **)((int)puVar27 + -0x10));
      return;
    }
  }
  puVar27[-1] = "Failed to destroy mutex.\n";
  puVar27[-2] = 0x1b33;
  puVar27[-3] = "daemon.c";
  puVar27[-4] = mhd_panic_cls;
  puVar27[-5] = 0x1bb2f;
  (*mhd_panic)((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1]);
  puVar27[-5] = unaff_EBP;
  puVar27[-6] = unaff_EDI;
  puVar27[-7] = daemon;
  puVar27[-8] = 0x30000;
  puVar27[-9] = 0x1bb39;
  iVar8 = puVar27[-9];
  pMVar28 = (MHD_mutex_ *)puVar27[-3];
  p_Var17 = (MHD_AccessHandlerCallback)puVar27[1];
  puVar27[-0x3b] = 1;
  puVar27[-0x44] = puVar27[-2];
  puVar27[-0x3a] = 0;
  puVar27[-0x43] = puVar27[-1];
  puVar27[-0x42] = puVar27[2];
  puVar27[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puVar27[-0x3f] = (uint)pMVar28 & 2;
  puVar25 = puVar27 + -0x47;
  if (((uint)pMVar28 & 2) != 0) goto LAB_0001bf79;
  if (((uint)pMVar28 & 0x8000) != 0) {
    pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);
  }
  puVar25 = puVar27 + -0x47;
  if (((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||
      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||
     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||
      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))) goto LAB_0001bf79;
  pMVar29 = pMVar28;
  if (((uint)pMVar28 & 0x10000) != 0) {
    puVar25 = puVar27 + -0x47;
    if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;
    pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);
    if (((uint)pMVar28 & 4) == 0) {
      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);
    }
  }
  puVar27[-0x40] = puVar27[3];
  puVar27[-0x41] = *puVar27;
  puVar27[-0x4a] = 0x130;
  puVar27[-0x4b] = 1;
  puVar27[-0x4c] = 0x1bc1d;
  pMVar10 = (MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a]);
  puVar25 = puVar27 + -0x47;
  if (pMVar10 == (MHD_Daemon *)0x0) goto LAB_0001bf79;
  pMVar10->epoll_fd = -1;
  pMVar10->listen_fd = -1;
  pMVar10->listening_address_reuse = 0;
  pMVar10->options = (MHD_FLAG)pMVar29;
  pvVar3 = (void *)puVar27[-0x41];
  pMVar10->default_handler = p_Var17;
  pMVar10->connections = 0;
  pMVar10->connection_limit = 0x3fc;
  pMVar10->strict_for_client = (uint)pMVar29 >> 5 & 1;
  uVar1 = *(uint16_t *)(puVar27 + -0x44);
  pMVar10->apc_cls = pvVar3;
  pMVar10->pool_size = 0x8000;
  pMVar10->pool_increment = 0x400;
  pMVar10->connection_timeout = 0;
  (pMVar10->itc).fd = -1;
  pMVar10->listen_backlog_size = 0x80;
  pMVar10->port = uVar1;
  ap = (va_list)puVar27[-0x40];
  pMVar10->apc = (MHD_AcceptPolicyCallback)puVar27[-0x43];
  pMVar10->default_handler_cls = (void *)puVar27[-0x42];
  pMVar10->unescape_callback = (UnescapeCallback)(iVar8 + -0x43b9);
  pMVar10->custom_error_log = (MHD_LogCallback)(iVar8 + -0x43e9);
  pMVar10->custom_error_log_cls = (void *)**(undefined4 **)(iVar8 + 0x14497);
  if (((uint)pMVar29 & 0xc) == 4) {
    puVar27[-0x43] = ap;
    puVar27[-0x4a] = iVar8 + 0xbff7;
    puVar27[-0x4b] = pMVar10;
    puVar27[-0x4c] = 0x1bebc;
    MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);
    ap = (va_list)puVar27[-0x43];
    pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);
    pMVar10->options = (MHD_FLAG)pMVar29;
LAB_0001bed2:
    if (((uint)pMVar29 & 0x100) != 0) {
      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);
      pMVar10->options = (MHD_FLAG)pMVar29;
    }
  }
  else {
    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;
    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);
    pMVar10->options = (MHD_FLAG)pMVar29;
  }
  puVar23 = puVar27 + -0x47;
  puVar25 = puVar27 + -0x47;
  pMVar10->digest_auth_rand_size = 0;
  pMVar10->digest_auth_random = (char *)0x0;
  pMVar10->nonce_nc_size = 4;
  puVar27[-0x48] = 0x1bd33;
  MVar11 = parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap);
  puVar22 = puVar27 + -0x47;
  if (MVar11 == MHD_YES) {
    MVar14 = pMVar10->options;
    if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||
       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {
      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;
    }
    else {
      pMVar10->options = MVar14 | MHD_USE_ITC;
    }
    puVar25 = puVar27 + -0x47;
    if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;
LAB_0001bd6c:
    uVar7 = pMVar10->nonce_nc_size;
    if (uVar7 != 0) {
      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);
      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;
      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;
      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));
      pMVar10->nnc = pMVar12;
      if (pMVar12 == (MHD_NonceNc *)0x0) {
        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;
        piVar6 = __errno_location();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;
        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
        puVar24 = (undefined1 *)((int)puVar25 + -8);
        *(char **)((int)puVar25 + -8) = pcVar16;
        iVar8 = iVar8 + 0xc17b;
        goto LAB_0001c3a9;
      }
    }
    *(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;
    *(undefined4 *)((int)puVar25 + -0xc) = 0;
    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;
    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),
                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));
    if (iVar13 == 0) {
      MVar14 = pMVar10->options;
      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&
         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        goto LAB_0001bf08;
      }
      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;
      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;
      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;
LAB_0001bdf8:
      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {
        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;
        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);
        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {
          *(int *)p_Var17 = 0;
          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;
        }
        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);
        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =
             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);
        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;
        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),
                             *(socklen_t **)((int)puVar25 + -8));
        if (iVar13 != 0) goto LAB_0001c540;
        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {
          sVar2 = *(short *)((int)puVar25 + 0x6c);
          if ((sVar2 == 2) || (sVar2 == 10)) {
            pMVar10->port =
                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;
          }
          else if (sVar2 == 1) {
            pMVar29 = (MHD_mutex_ *)0x0;
            pMVar10->port = 0;
          }
          else {
            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;
            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;
            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            pMVar10->port = 0;
          }
        }
        else {
          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;
          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;
          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        }
      }
      do {
        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;
        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));
        if (iVar13 == 0) {
          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;
          pMVar29 = (MHD_mutex_ *)__errno_location();
          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;
          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;
          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
          *(char **)((int)puVar25 + -8) = pcVar16;
          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;
          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;
          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||
             (pMVar10->worker_pool_size != 0)) {
            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;
            iVar13 = close(*(int *)((int)puVar25 + -0x10));
            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {
              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;
              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
              pcVar4 = *(code **)(iVar8 + 0x14633);
              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;
              (*pcVar4)();
              puVar25 = (undefined4 *)((int)puVar25 + -0x10);
              goto LAB_0001c5b0;
            }
            goto LAB_0001bf08;
          }
          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||
             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {
            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;
            *(undefined4 *)((int)puVar25 + -0xc) = 0;
            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;
            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),
                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));
            if (iVar13 == 0) goto LAB_0001c200;
            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;
            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;
            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            goto LAB_0001c02e;
          }
        }
        else {
          MVar14 = pMVar10->options;
          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||
             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;
        }
        *(undefined4 *)((int)puVar25 + -4) = 0x400;
        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);
        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;
        iVar13 = close(*(int *)((int)puVar25 + -0x10));
        if (iVar13 == 0) goto LAB_0001bf08;
        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;
        piVar6 = __errno_location();
        if (*piVar6 != 9) goto LAB_0001bf08;
        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
        pcVar4 = *(code **)(iVar8 + 0x14633);
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;
        (*pcVar4)();
        puVar25 = (undefined4 *)((int)puVar25 + -0x10);
LAB_0001c540:
        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;
        piVar6 = __errno_location();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;
        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      } while( true );
    }
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;
    free(*(void **)((int)puVar25 + -0x10));
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;
    free(*(void **)((int)puVar25 + -0x10));
    goto LAB_0001bf79;
  }
LAB_0001bf6b:
  *(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10;
  *(undefined4 *)((int)puVar22 + -0x14) = 0x1bf76;
  free(*(void **)((int)puVar22 + -0x10));
  puVar25 = puVar22;
LAB_0001bf79:
  if (*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)puVar25 + -4) = 0x1cc8f;
  __stack_chk_fail_local();
  while( true ) {
    *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;
    *(undefined4 *)((int)puVar25 + -0xc) = 0;
    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;
    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),
                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));
    if (iVar13 == 0) goto LAB_0001c200;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;
LAB_0001c02e:
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;
    iVar13 = close(*(int *)((int)puVar25 + -0x10));
    if (iVar13 == 0) goto LAB_0001bf08;
    *(undefined4 *)((int)puVar25 + -4) = 0x1c04a;
    piVar6 = __errno_location();
    if (*piVar6 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar25 + -8) = 0x1904;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
    pcVar4 = *(code **)(iVar8 + 0x14633);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;
    MVar14 = (*pcVar4)();
    puVar25 = (undefined4 *)((int)puVar25 + -0x10);
LAB_0001c078:
    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;
LAB_0001be45:
    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&
       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,
       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {
      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        goto LAB_0001bf08;
      }
      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;
      MVar11 = setup_epoll_to_listen(pMVar10);
      if (MVar11 != MHD_YES) goto LAB_0001bf08;
    }
  }
  *(uint *)((int)puVar25 + -0x10) =
       (-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10;
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c098;
  MVar15 = MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10));
  *(MHD_socket *)((int)puVar25 + 0x10) = MVar15;
  if (MVar15 != -1) {
    if (pMVar10->listening_address_reuse == 0) {
LAB_0001c5b0:
      *(undefined4 *)((int)puVar25 + -0x10) = 4;
      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);
      *(undefined4 *)((int)puVar25 + -0x18) = 2;
      *(undefined4 *)((int)puVar25 + -0x1c) = 1;
      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);
      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;
      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(socklen_t *)((int)puVar25 + -0x10));
      if (iVar13 < 0) {
        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;
        piVar6 = __errno_location();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;
        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      }
    }
    else if (0 < pMVar10->listening_address_reuse) {
      *(undefined4 *)((int)puVar25 + -0x10) = 4;
      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);
      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;
      *(undefined4 *)((int)puVar25 + -0x18) = 2;
      *(undefined4 *)((int)puVar25 + -0x1c) = 1;
      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);
      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;
      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(socklen_t *)((int)puVar25 + -0x10));
      if (iVar13 < 0) {
        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;
        piVar6 = __errno_location();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;
        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      }
      *(undefined4 *)((int)puVar25 + -0x10) = 4;
      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;
      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;
      *(undefined4 *)((int)puVar25 + -0x1c) = 1;
      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);
      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;
      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(socklen_t *)((int)puVar25 + -0x10));
      if (iVar13 < 0) {
        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;
        piVar6 = __errno_location();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;
        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        goto LAB_0001bf08;
      }
    }
    MVar14 = pMVar10->options;
    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);
    if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;
    *(undefined4 *)((int)puVar25 + 0x38) = 0x1c;
    if (puVar18 == (undefined1 *)0x0) {
      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);
      uVar7 = 0;
      do {
        *(undefined4 *)((int)pMVar29 + uVar7) = 0;
        uVar7 = uVar7 + 4;
      } while (uVar7 < 0x18);
      *(undefined4 *)((int)puVar25 + 0x58) = 0;
      *(ushort *)((int)puVar25 + 0x52) =
           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;
      *(undefined2 *)((int)puVar25 + 0x50) = 10;
      *(undefined4 *)((int)puVar25 + 0x5c) = 0;
      *(undefined4 *)((int)puVar25 + 0x60) = 0;
      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);
      *(undefined4 *)((int)puVar25 + 100) = 0;
      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);
    }
    else {
      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);
    }
    *(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);
    *(undefined4 *)((int)puVar25 + -0x10) = 4;
    *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);
    *(undefined4 *)((int)puVar25 + -0x18) = 0x1a;
    *(undefined4 *)((int)puVar25 + -0x1c) = 0x29;
    *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;
    iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                        *(socklen_t *)((int)puVar25 + -0x10));
    if (iVar13 < 0) {
      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;
      piVar6 = __errno_location();
      *(int *)((int)puVar25 + -0x10) = *piVar6;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;
      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
      *(char **)((int)puVar25 + -8) = pcVar16;
      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;
      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;
      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    }
    uVar20 = *(undefined4 *)((int)puVar25 + 0x38);
    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);
    goto LAB_0001c127;
  }
  *(undefined4 *)((int)puVar25 + -4) = 0x1c765;
  piVar6 = __errno_location();
  *(int *)((int)puVar25 + -0x10) = *piVar6;
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c76f;
  pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
  *(char **)((int)puVar25 + -8) = pcVar16;
  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc21f;
  *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c780;
  MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
LAB_0001bf08:
  if (pMVar10->epoll_fd != -1) {
    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;
    close(*(int *)((int)puVar25 + -0x10));
  }
  *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf2d;
  free(*(void **)((int)puVar25 + -0x10));
  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x14);
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf37;
  iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));
  if (iVar13 != 0) {
    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;
    *(undefined4 *)((int)puVar25 + -8) = 0x19e2;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
    puVar18 = (undefined1 *)((int)puVar25 + -0x10);
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
    pcVar4 = *(code **)(iVar8 + 0x14633);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;
    (*pcVar4)();
    goto LAB_0001ccae;
  }
  iVar13 = (pMVar10->itc).fd;
  puVar22 = puVar25;
  if (iVar13 != -1) {
    *(int *)((int)puVar25 + -0x10) = iVar13;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;
    iVar13 = close(*(int *)((int)puVar25 + -0x10));
    if (iVar13 != 0) {
      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;
      piVar6 = __errno_location();
      if (*piVar6 == 9) goto LAB_0001c5fa;
    }
  }
  goto LAB_0001bf6b;
LAB_0001c5fa:
  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;
  *(undefined4 *)((int)puVar25 + -8) = 0x19f0;
  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
  pcVar4 = *(code **)(iVar8 + 0x14633);
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c619;
  (*pcVar4)();
  puVar25 = (undefined4 *)((int)puVar25 + -0x10);
  do {
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;
    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));
    puVar27 = puVar25;
    if (iVar13 != 0) goto LAB_0001cd49;
    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;
    iVar13 = close(*(int *)((int)puVar25 + -0x10));
    if (iVar13 == 0) goto LAB_0001bf08;
    *(undefined4 *)((int)puVar25 + -4) = 0x1c669;
    piVar6 = __errno_location();
    if (*piVar6 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar25 + -8) = 0x1911;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
    pcVar4 = *(code **)(iVar8 + 0x14633);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;
    puVar18 = (undefined1 *)(*pcVar4)();
    puVar25 = (undefined4 *)((int)puVar25 + -0x10);
LAB_0001c698:
    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;
    if (puVar18 == (undefined1 *)0x0) {
      puVar18 = (undefined1 *)((int)puVar25 + 0x40);
      *(undefined2 *)((int)puVar25 + 0x40) = 2;
      *(undefined4 *)((int)puVar25 + 0x44) = 0;
      *(undefined4 *)((int)puVar25 + 0x48) = 0;
      *(undefined4 *)((int)puVar25 + 0x4c) = 0;
      *(ushort *)((int)puVar25 + 0x42) =
           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;
      uVar20 = 0x10;
      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;
      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);
    }
    else {
      uVar20 = 0x10;
      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);
    }
LAB_0001c127:
    *(undefined4 *)((int)puVar25 + -8) = uVar20;
    *(undefined1 **)((int)puVar25 + -0xc) = puVar18;
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;
    iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),
                  *(socklen_t *)((int)puVar25 + -8));
    if (iVar13 == -1) {
      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;
      pMVar29 = (MHD_mutex_ *)__errno_location();
      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;
      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
      *(char **)((int)puVar25 + -0x14) = pcVar16;
      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);
      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;
      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;
      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;
      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));
      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;
      iVar13 = close(*(int *)((int)puVar25 + -0x10));
      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
      *(undefined4 *)((int)puVar25 + -8) = 0x184d;
      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
      pcVar4 = *(code **)(iVar8 + 0x14633);
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;
      (*pcVar4)();
      puVar25 = (undefined4 *)((int)puVar25 + -0x10);
      goto LAB_0001c828;
    }
    if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {
      if (pMVar10->fastopen_queue_size == 0) {
        pMVar10->fastopen_queue_size = 10;
      }
      *(undefined4 *)((int)puVar25 + -0x10) = 4;
      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;
      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;
      *(undefined4 *)((int)puVar25 + -0x1c) = 6;
      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);
      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;
      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(socklen_t *)((int)puVar25 + -0x10));
      if (iVar13 != 0) {
        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;
        piVar6 = __errno_location();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;
        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;
        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      }
    }
    *(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;
    iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));
    if (-1 < iVar13) goto LAB_0001bdf8;
    *(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;
    pMVar29 = (MHD_mutex_ *)__errno_location();
    *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;
    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
    *(char **)((int)puVar25 + -8) = pcVar16;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;
    iVar13 = close(*(int *)((int)puVar25 + -0x10));
    if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar25 + -8) = 0x186b;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
    pcVar4 = *(code **)(iVar8 + 0x14633);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;
    (*pcVar4)();
    puVar25 = (undefined4 *)((int)puVar25 + -0x10);
LAB_0001c200:
    pMVar29 = &pMVar10->cleanup_connection_mutex;
    *(undefined4 *)((int)puVar25 + -0xc) = 0;
    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;
    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),
                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));
  } while (iVar13 != 0);
  if ((pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=
      MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001bf79;
  p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size;
  if (p_Var17 == (MHD_AccessHandlerCallback)0x0) {
    iVar13 = iVar8 + 0xb306;
    if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {
      iVar13 = iVar8 + 0xb2fb;
    }
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;
    *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;
    *(int *)((int)puVar25 + -0x1c) = iVar13;
    *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;
    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;
    iVar13 = MHD_create_named_thread_
                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),
                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),
                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),
                        *(void **)((int)puVar25 + -0x10));
    if (iVar13 != 0) goto LAB_0001bf79;
    *(undefined4 *)((int)puVar25 + -4) = 0x1c280;
    p_Var17 = (MHD_AccessHandlerCallback)__errno_location();
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;
    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
    *(char **)((int)puVar25 + -8) = pcVar16;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;
    puVar23 = (undefined4 *)((int)puVar25 + -0x10);
    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;
    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;
    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));
    puVar26 = (undefined1 *)puVar25;
    if (iVar13 == 0) {
      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;
      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));
      if (iVar13 != 0) goto LAB_0001cd2a;
      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;
      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;
      iVar13 = close(*(int *)((int)puVar25 + -0x10));
      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;
      *(undefined4 *)((int)puVar25 + -8) = 0x193e;
      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
      pcVar4 = *(code **)(iVar8 + 0x14633);
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;
      (*pcVar4)();
LAB_0001c310:
      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;
      *(undefined4 *)((int)puVar23 + -0x10) = 0;
      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;
      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));
      (pMVar10->itc).fd = iVar13;
      if (iVar13 == -1) {
        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;
        piVar6 = __errno_location();
        *(int *)((int)puVar23 + -0x10) = *piVar6;
        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;
        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));
        puVar24 = (undefined1 *)((int)puVar23 + -8);
        *(char **)((int)puVar23 + -8) = pcVar16;
        iVar8 = iVar8 + 0xc0c7;
        goto LAB_0001c3a9;
      }
      puVar25 = puVar23;
      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))
      goto LAB_0001bd6c;
      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;
      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;
      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;
      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));
      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;
      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;
      iVar13 = close(*(int *)((int)puVar23 + -0x10));
      puVar22 = puVar23;
      if (iVar13 != 0) {
        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;
        piVar6 = __errno_location();
        if (*piVar6 == 9) {
          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;
          *(undefined4 *)((int)puVar23 + -8) = 0x172d;
          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;
          puVar25 = (undefined4 *)((int)puVar23 + -0x10);
          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
          pcVar4 = *(code **)(iVar8 + 0x14633);
          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;
          (*pcVar4)();
LAB_0001c3a0:
          iVar8 = iVar8 + 0xc153;
          puVar24 = (undefined1 *)((int)puVar25 + -8);
LAB_0001c3a9:
          *(int *)(puVar24 + -4) = iVar8;
          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;
          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;
          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));
          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;
          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;
          free(*(void **)(puVar24 + -8));
          puVar25 = (undefined4 *)(puVar24 + 8);
          goto LAB_0001bf79;
        }
      }
      goto LAB_0001bf6b;
    }
LAB_0001cccd:
    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;
    *(undefined4 *)(puVar26 + -8) = 0x193b;
    *(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;
    puVar25 = (undefined4 *)(puVar26 + -0x10);
    *(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
    pcVar4 = *(code **)(iVar8 + 0x14633);
    *(undefined4 *)(puVar26 + -0x14) = 0x1ccec;
    (*pcVar4)();
LAB_0001ccec:
    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;
    *(undefined4 *)((int)puVar25 + -8) = 0x1977;
    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
    pcVar4 = *(code **)(iVar8 + 0x14633);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;
    (*pcVar4)();
    puVar18 = (undefined1 *)((int)puVar25 + -0x10);
  }
  else {
LAB_0001c828:
    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;
    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;
    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));
    pMVar10->worker_pool = pMVar19;
    if (pMVar19 != (MHD_Daemon *)0x0) {
      *(undefined4 *)((int)puVar25 + 0x18) = 0;
      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;
      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;
      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;
      while( true ) {
        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));
        pMVar19->default_handler = pMVar10->default_handler;
        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);
        iVar13 = (int)pMVar19 - (int)p_Var17;
        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;
        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);
        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {
          *(int *)p_Var17 = (pMVar29->__data).__lock;
          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);
          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;
        }
        pMVar19->master = pMVar10;
        pMVar19->worker_pool_size = 0;
        pMVar19->worker_pool = (MHD_Daemon *)0x0;
        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {
          (pMVar19->itc).fd = -1;
        }
        else {
          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;
          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;
          *(undefined4 *)((int)puVar25 + -0x10) = 0;
          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;
          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));
          (pMVar19->itc).fd = iVar13;
          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);
          if (iVar13 == -1) {
            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;
            piVar6 = __errno_location();
            *(int *)((int)puVar25 + -0x10) = *piVar6;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;
            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
            *(char **)((int)puVar25 + -8) = pcVar16;
            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;
            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;
            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            goto LAB_0001ca07;
          }
          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)
             ) {
            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;
            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;
            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;
            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;
            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;
            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);
            *(undefined4 *)((int)puVar25 + -0x10) =
                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);
            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;
            iVar13 = close(*(int *)((int)puVar25 + -0x10));
            if (iVar13 == 0) goto LAB_0001ca07;
            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;
            piVar6 = __errno_location();
            if (*piVar6 != 9) goto LAB_0001ca07;
            goto LAB_0001ccec;
          }
        }
        uVar7 = *(uint *)((int)puVar25 + 0x2c);
        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {
          uVar7 = *(uint *)((int)puVar25 + 0x24);
        }
        pMVar19->connection_limit = uVar7;
        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {
          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;
          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;
          MVar11 = setup_epoll_to_listen(pMVar19);
          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);
          if (MVar11 != MHD_YES) goto LAB_0001ca07;
        }
        pMVar29 = &pMVar19->cleanup_connection_mutex;
        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0xc) = 0;
        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;
        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),
                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));
        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);
        puVar18 = (undefined1 *)puVar25;
        if (iVar13 != 0) goto LAB_0001cc38;
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;
        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;
        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;
        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;
        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;
        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;
        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;
        iVar13 = MHD_create_named_thread_
                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),
                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),
                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),
                            *(void **)((int)puVar25 + -0x10));
        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);
        if (iVar13 == 0) break;
        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;
        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;
        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;
        pMVar19 = pMVar10->worker_pool;
      }
      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;
      piVar6 = __errno_location();
      *(int *)((int)puVar25 + -0x10) = *piVar6;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;
      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));
      *(char **)((int)puVar25 + -8) = pcVar16;
      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;
      puVar18 = (undefined1 *)((int)puVar25 + -0x10);
      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;
      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;
      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));
      if (iVar13 != 0) {
        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;
        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;
        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
        pcVar4 = *(code **)(iVar8 + 0x14633);
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;
        (*pcVar4)();
        pMVar10 = extraout_EDX;
LAB_0001cc38:
        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;
        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;
        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;
        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
        puVar25 = (undefined4 *)puVar18;
      }
LAB_0001ca07:
      if (*(int *)((int)puVar25 + 0x20) != 0) {
        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);
        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;
        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;
        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));
        goto LAB_0001bf79;
      }
    }
    if (*(int *)((int)puVar25 + 0x10) == -1) {
LAB_0001ca3b:
      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);
      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;
      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));
      puVar18 = (undefined1 *)puVar25;
      if (iVar13 == 0) {
        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {
          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;
          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;
          free(*(void **)((int)puVar25 + -0x10));
        }
        goto LAB_0001bf08;
      }
LAB_0001ccae:
      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;
      *(undefined4 *)(puVar18 + -8) = 0x19ba;
      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;
      puVar26 = puVar18 + -0x10;
      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
      pcVar4 = *(code **)(iVar8 + 0x14633);
      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;
      (*pcVar4)();
      goto LAB_0001cccd;
    }
    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);
    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;
    iVar13 = close(*(int *)((int)puVar25 + -0x10));
    if (iVar13 == 0) goto LAB_0001ca3b;
    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;
    piVar6 = __errno_location();
    puVar18 = (undefined1 *)puVar25;
    if (*piVar6 != 9) goto LAB_0001ca3b;
  }
  *(int *)(puVar18 + -4) = iVar8 + 0xb22d;
  *(undefined4 *)(puVar18 + -8) = 0x19b9;
  *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;
  puVar25 = (undefined4 *)(puVar18 + -0x10);
  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
  pcVar4 = *(code **)(iVar8 + 0x14633);
  *(undefined4 *)(puVar18 + -0x14) = 0x1cd2a;
  (*pcVar4)();
LAB_0001cd2a:
  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;
  *(undefined4 *)((int)puVar25 + -8) = 0x193c;
  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;
  puVar27 = (undefined4 *)((int)puVar25 + -0x10);
  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);
  pcVar4 = *(code **)(iVar8 + 0x14633);
  *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd49;
  (*pcVar4)();
LAB_0001cd49:
  puVar27[-1] = iVar8 + 0xb2e1;
  puVar27[-2] = 0x190e;
  puVar27[-3] = iVar8 + 0xb1ff;
  puVar27[-4] = *(undefined4 *)(iVar8 + 0x1462f);
  pcVar4 = *(code **)(iVar8 + 0x14633);
  puVar27[-5] = 0x1cd68;
  (*pcVar4)();
  puVar27[-5] = iVar8 + 0x144c7;
  puVar27[-6] = 0x1cd76;
  puVar27[-9] = puVar27 + 3;
  puVar27[-10] = puVar27[2];
  puVar27[-0xb] = puVar27[1];
  puVar27[-0xc] = *puVar27;
  puVar27[-0xd] = puVar27[-1];
  puVar27[-0xe] = (uint)*(ushort *)(puVar27 + -2);
  puVar27[-0xf] = puVar27[-3];
  puVar27[-0x10] = 0x1cda6;
  MHD_start_daemon_va(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),
                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],
                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],
                      (va_list)puVar27[-9]);
  return;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Switch with 1 destination removed at 0x00012240 */

undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)

{
  undefined2 uVar1;
  short sVar2;
  code *pcVar3;
  ssize_t sVar4;
  int *piVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined *puVar10;
  undefined4 *puVar11;
  void *pvVar12;
  char *pcVar13;
  int *piVar14;
  undefined1 *puVar15;
  uint uVar16;
  undefined4 *puVar17;
  undefined4 extraout_ECX;
  undefined4 uVar18;
  undefined4 *extraout_EDX;
  undefined1 *puVar19;
  undefined4 *puVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  uint unaff_EBP;
  int *piVar23;
  undefined *unaff_EDI;
  int in_GS_OFFSET;
  bool bVar24;
  byte bVar25;
  undefined1 auStack_2c [12];
  undefined *puStack_20;
  undefined4 uStack_14;
  undefined4 uStack_10;
  
  bVar25 = 0;
  uStack_10 = 0x30000;
  uStack_14 = 0x1b6f9;
  puVar22 = auStack_2c;
  puVar15 = auStack_2c;
  puVar17 = (undefined4 *)auStack_2c;
  puVar19 = auStack_2c;
  if (param_2 == 0) {
    return param_1;
  }
  *(undefined1 *)(param_2 + 0xdc) = 1;
  puVar9 = *(undefined4 **)(param_2 + 0x74);
  if (*(char *)(param_2 + 0xdd) == '\0') {
    unaff_EDI = *(undefined **)(param_2 + 200);
    puStack_20 = unaff_EDI;
    puVar15 = auStack_2c;
    if (puVar9 == (undefined4 *)0x0) {
      do {
        puVar22 = puVar15;
        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {
LAB_0001ba78:
          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;
          FUN_00017f40();
        }
        else {
          puVar10 = *(undefined **)(param_2 + 0xd8);
          if (puVar10 == (undefined *)0xffffffff) {
            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {
              *(undefined4 *)(puVar15 + -0xc) = 2;
              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);
              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;
              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));
            }
          }
          else {
LAB_0001ba20:
            *(undefined4 *)(puVar15 + -8) = 8;
            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;
            *(undefined **)(puVar15 + -0x10) = puVar10;
            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;
            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),
                          *(size_t *)(puVar15 + -8));
            if (sVar4 < 1) {
              *(undefined4 *)(puVar15 + -4) = 0x1ba42;
              piVar5 = __errno_location();
              if (*piVar5 != 0xb) {
                *(char **)(puVar15 + -4) =
                     "Failed to signal shutdown via inter-thread communication channel.\n";
                *(undefined4 *)(puVar15 + -8) = 0x1ae5;
                *(char **)(puVar15 + -0xc) = "daemon.c";
                puVar22 = puVar15 + -0x10;
                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;
                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;
                (*DAT_0003016c)();
LAB_0001ba70:
                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;
                goto LAB_0001ba78;
              }
            }
          }
LAB_0001b8f8:
          *(undefined4 *)(puVar15 + -0xc) = 0;
          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);
          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;
          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));
          puVar22 = puVar15;
          if (iVar8 != 0) goto LAB_0001bad2;
        }
        if (*(int *)(param_2 + 0xd8) != -1) {
          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);
          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;
          iVar8 = close(*(int *)(puVar22 + -0x10));
          if (iVar8 != 0) {
            *(undefined4 *)(puVar22 + -4) = 0x1b933;
            piVar5 = __errno_location();
            if (*piVar5 == 9) {
              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";
              *(undefined4 *)(puVar22 + -8) = 0x1b02;
              *(char **)(puVar22 + -0xc) = "daemon.c";
              puVar17 = (undefined4 *)(puVar22 + -0x10);
              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;
              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;
              (*DAT_0003016c)();
              goto LAB_0001bab3;
            }
          }
        }
        puVar17 = (undefined4 *)puVar22;
        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {
          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);
          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;
          iVar8 = close(*(int *)(puVar22 + -0x10));
          if (iVar8 != 0) {
            *(undefined4 *)(puVar22 + -4) = 0x1b965;
            piVar5 = __errno_location();
            if (*piVar5 == 9) {
              *(char **)(puVar22 + -4) = "Close socket failed.\n";
              *(undefined4 *)(puVar22 + -8) = 0x1b07;
              *(char **)(puVar22 + -0xc) = "daemon.c";
              puVar17 = (undefined4 *)(puVar22 + -0x10);
              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;
              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;
              (*DAT_0003016c)();
            }
          }
        }
        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;
        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;
        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));
        if (iVar8 == 0) goto LAB_0001b81d;
        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";
        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;
        *(char **)((int)puVar17 + -0xc) = "daemon.c";
        puVar15 = (undefined1 *)((int)puVar17 + -0x10);
        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;
        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;
        (*DAT_0003016c)();
      } while( true );
    }
    if (*(int *)(param_2 + 0x88) == 0) {
      bVar24 = unaff_EDI == (undefined *)0xffffffff;
      unaff_EDI = (undefined *)0x0;
      if (bVar24) {
        unaff_EDI = (undefined *)0x0;
        goto LAB_0001b8ba;
      }
LAB_0001b7cf:
      *(undefined4 *)((int)puVar17 + -0xc) = 2;
      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);
      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;
      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));
      uVar6 = *(uint *)(param_2 + 0x88);
    }
    else {
LAB_0001b747:
      unaff_EBP = 0;
      unaff_EDI = &DAT_000281c0;
      while( true ) {
        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;
        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);
        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&
           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;
        uVar6 = *(uint *)(param_2 + 0x88);
        unaff_EBP = unaff_EBP + 1;
        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;
        puVar9 = *(undefined4 **)(param_2 + 0x74);
      }
      puVar19 = &stack0xffffffc4;
      uVar6 = (*DAT_0003016c)();
LAB_0001b7c8:
      puVar17 = (undefined4 *)puVar19;
      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;
    }
    iVar8 = *(int *)(param_2 + 0x74);
    if (uVar6 != 0) {
      unaff_EDI = (undefined *)0x0;
      do {
        iVar7 = (int)unaff_EDI * 0x130;
        unaff_EDI = unaff_EDI + 1;
        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;
        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;
        MHD_stop_daemon();
        iVar8 = *(int *)(param_2 + 0x74);
      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));
    }
    *(int *)((int)puVar17 + -0x10) = iVar8;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;
    free(*(void **)((int)puVar17 + -0x10));
LAB_0001b81d:
    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {
      return *(undefined4 **)(param_2 + 0x70);
    }
    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;
    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;
    iVar8 = close(*(int *)((int)puVar17 + -0x10));
    if (iVar8 == 0) goto LAB_0001b84b;
    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;
    piVar5 = __errno_location();
    if (*piVar5 != 9) goto LAB_0001b84b;
LAB_0001bab3:
    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";
    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;
    *(char **)((int)puVar17 + -0xc) = "daemon.c";
    puVar15 = (undefined1 *)((int)puVar17 + -0x10);
    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;
    (*DAT_0003016c)();
LAB_0001bad2:
    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";
    *(undefined4 *)(puVar15 + -8) = 0x1af7;
    *(char **)(puVar15 + -0xc) = "daemon.c";
    puVar22 = puVar15 + -0x10;
    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;
    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;
    (*DAT_0003016c)();
LAB_0001baf1:
    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";
    *(undefined4 *)(puVar22 + -8) = 0x1b2f;
    *(char **)(puVar22 + -0xc) = "daemon.c";
    puVar17 = (undefined4 *)(puVar22 + -0x10);
    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;
    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;
    (*DAT_0003016c)();
  }
  else {
    if (puVar9 == (undefined4 *)0x0) {
      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;
      puVar10 = *(undefined **)(param_2 + 0xd8);
      puStack_20 = puVar10;
      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;
      puStack_20 = (undefined *)0xffffffff;
      puVar15 = auStack_2c;
      goto LAB_0001ba20;
    }
    unaff_EBP = *(uint *)(param_2 + 0x88);
    puStack_20 = (undefined *)0xffffffff;
    if (unaff_EBP != 0) goto LAB_0001b747;
LAB_0001b8ba:
    free(puVar9);
    puVar17 = (undefined4 *)auStack_2c;
    if (*(int *)(param_2 + 0x70) != 0) {
      return puVar9;
    }
LAB_0001b84b:
    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;
    free(*(void **)((int)puVar17 + -0x10));
    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;
    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));
    puVar22 = (undefined1 *)puVar17;
    if (iVar8 != 0) goto LAB_0001baf1;
    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;
    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));
    if (puVar9 == (undefined4 *)0x0) {
      *(int *)((int)puVar17 + -0x10) = param_2;
      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;
      free(*(void **)((int)puVar17 + -0x10));
      return puVar9;
    }
  }
  puVar17[-1] = "Failed to destroy mutex.\n";
  puVar17[-2] = 0x1b33;
  puVar17[-3] = "daemon.c";
  puVar17[-4] = DAT_00030168;
  puVar17[-5] = 0x1bb2f;
  (*DAT_0003016c)();
  puVar17[-5] = unaff_EBP;
  puVar17[-6] = unaff_EDI;
  puVar17[-7] = param_2;
  puVar17[-8] = 0x30000;
  puVar17[-9] = 0x1bb39;
  iVar8 = puVar17[-9];
  piVar5 = (int *)puVar17[-3];
  piVar14 = (int *)puVar17[1];
  puVar17[-0x3b] = 1;
  puVar17[-0x44] = puVar17[-2];
  puVar17[-0x3a] = 0;
  puVar17[-0x43] = puVar17[-1];
  puVar17[-0x42] = puVar17[2];
  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puVar17[-0x3f] = (uint)piVar5 & 2;
  puVar9 = puVar17 + -0x47;
  if (((uint)piVar5 & 2) == 0) {
    if (((uint)piVar5 & 0x8000) != 0) {
      piVar5 = (int *)((uint)piVar5 | 0x2400);
    }
    puVar9 = puVar17 + -0x47;
    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&
       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&
        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {
      piVar23 = piVar5;
      if (((uint)piVar5 & 0x10000) != 0) {
        puVar9 = puVar17 + -0x47;
        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;
        piVar23 = (int *)((uint)piVar5 | 0x40);
        if (((uint)piVar5 & 4) == 0) {
          piVar23 = (int *)((uint)piVar5 | 0x200);
        }
      }
      puVar17[-0x40] = puVar17[3];
      puVar17[-0x41] = *puVar17;
      puVar17[-0x4a] = 0x130;
      puVar17[-0x4b] = 1;
      puVar17[-0x4c] = 0x1bc1d;
      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);
      puVar9 = puVar17 + -0x47;
      if (puVar11 != (undefined4 *)0x0) {
        puVar11[0x34] = 0xffffffff;
        puVar11[0x32] = 0xffffffff;
        puVar11[0x33] = 0;
        puVar11[0x3d] = piVar23;
        uVar18 = puVar17[-0x41];
        *puVar11 = piVar14;
        puVar11[0x39] = 0;
        puVar11[0x3a] = 0x3fc;
        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;
        uVar1 = *(undefined2 *)(puVar17 + -0x44);
        puVar11[0x11] = uVar18;
        puVar11[0x1f] = 0x8000;
        puVar11[0x20] = 0x400;
        puVar11[0x3b] = 0;
        puVar11[0x36] = 0xffffffff;
        puVar11[0x4b] = 0x80;
        *(undefined2 *)(puVar11 + 0x3e) = uVar1;
        uVar18 = puVar17[-0x40];
        puVar11[0x10] = puVar17[-0x43];
        puVar11[1] = puVar17[-0x42];
        puVar11[0x18] = iVar8 + -0x43b9;
        puVar11[0x1a] = iVar8 + -0x43e9;
        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);
        if (((uint)piVar23 & 0xc) == 4) {
          puVar17[-0x43] = uVar18;
          puVar17[-0x4a] = iVar8 + 0xbff7;
          puVar17[-0x4b] = puVar11;
          puVar17[-0x4c] = 0x1bebc;
          FUN_0001cf70();
          piVar23 = (int *)(puVar11[0x3d] | 8);
          puVar11[0x3d] = piVar23;
LAB_0001bed2:
          if (((uint)piVar23 & 0x100) != 0) {
            piVar23 = (int *)((uint)piVar23 | 0x400);
            puVar11[0x3d] = piVar23;
          }
        }
        else {
          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;
          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);
          puVar11[0x3d] = piVar23;
        }
        puVar20 = puVar17 + -0x47;
        puVar11[0x48] = 0;
        puVar11[0x40] = 0;
        puVar11[0x49] = 4;
        puVar17[-0x48] = 0x1bd33;
        iVar7 = FUN_000172b0();
        puVar9 = puVar17 + -0x47;
        if (iVar7 == 1) {
          uVar6 = puVar11[0x3d];
          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {
            puVar9 = puVar17 + -0x47;
            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;
          }
          else {
            puVar11[0x3d] = uVar6 | 0x400;
          }
          puVar9 = puVar17 + -0x47;
          if (puVar11[0x22] == 0) goto LAB_0001c310;
LAB_0001bd6c:
          uVar6 = puVar11[0x49];
          if (uVar6 != 0) {
            piVar23 = (int *)(uVar6 * 0x94);
            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;
            *(int **)((int)puVar9 + -0x10) = piVar23;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;
            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));
            puVar11[0x41] = pvVar12;
            if (pvVar12 == (void *)0x0) {
              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;
              piVar5 = __errno_location();
              *(int *)((int)puVar9 + -0x10) = *piVar5;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;
              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
              puVar21 = (undefined1 *)((int)puVar9 + -8);
              *(char **)((int)puVar9 + -8) = pcVar13;
              iVar8 = iVar8 + 0xc17b;
              goto LAB_0001c3a9;
            }
          }
          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;
          *(undefined4 *)((int)puVar9 + -0xc) = 0;
          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;
          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
          if (iVar7 == 0) {
            uVar6 = puVar11[0x3d];
            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;
              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;
              FUN_0001cf70();
              goto LAB_0001bf08;
            }
            piVar14 = (int *)puVar11[0x32];
            *(int **)((int)puVar9 + 0x10) = piVar14;
            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;
LAB_0001bdf8:
            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {
              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;
              piVar14 = (int *)((int)puVar9 + 0x6c);
              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {
                *piVar14 = 0;
                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;
              }
              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);
              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);
              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;
              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),
                                  *(socklen_t **)((int)puVar9 + -8));
              if (iVar7 != 0) goto LAB_0001c540;
              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {
                sVar2 = *(short *)((int)puVar9 + 0x6c);
                if ((sVar2 == 2) || (sVar2 == 10)) {
                  *(ushort *)(puVar11 + 0x3e) =
                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;
                }
                else if (sVar2 == 1) {
                  piVar23 = (int *)0x0;
                  *(undefined2 *)(puVar11 + 0x3e) = 0;
                }
                else {
                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;
                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;
                  FUN_0001cf70();
                  *(undefined2 *)(puVar11 + 0x3e) = 0;
                }
              }
              else {
                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;
                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;
                FUN_0001cf70();
              }
            }
            do {
              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;
              iVar7 = FUN_0001e210();
              if (iVar7 == 0) {
                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;
                piVar23 = __errno_location();
                *(int *)((int)puVar9 + -0x10) = *piVar23;
                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;
                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
                *(char **)((int)puVar9 + -8) = pcVar13;
                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;
                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;
                FUN_0001cf70();
                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {
                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;
                  iVar7 = close(*(int *)((int)puVar9 + -0x10));
                  if ((iVar7 != 0) && (*piVar23 == 9)) {
                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;
                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;
                    (*pcVar3)();
                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
                    goto LAB_0001c5b0;
                  }
                  goto LAB_0001bf08;
                }
                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {
                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;
                  *(undefined4 *)((int)puVar9 + -0xc) = 0;
                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;
                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
                  if (iVar7 == 0) goto LAB_0001c200;
                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;
                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;
                  FUN_0001cf70();
                  goto LAB_0001c02e;
                }
              }
              else {
                uVar6 = puVar11[0x3d];
                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))
                goto LAB_0001be45;
              }
              *(undefined4 *)((int)puVar9 + -4) = 0x400;
              piVar14 = *(int **)((int)puVar9 + 0x10);
              *(int **)((int)puVar9 + -8) = piVar14;
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;
              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;
              FUN_0001cf70();
              *(int **)((int)puVar9 + -0x10) = piVar14;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;
              iVar7 = close(*(int *)((int)puVar9 + -0x10));
              if (iVar7 == 0) goto LAB_0001bf08;
              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;
              piVar5 = __errno_location();
              if (*piVar5 != 9) goto LAB_0001bf08;
              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
              pcVar3 = *(code **)(&UNK_00014633 + iVar8);
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;
              (*pcVar3)();
              puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c540:
              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;
              piVar5 = __errno_location();
              *(int *)((int)puVar9 + -0x10) = *piVar5;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;
              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
              *(char **)((int)puVar9 + -8) = pcVar13;
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;
              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;
              FUN_0001cf70();
            } while( true );
          }
          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;
          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;
          FUN_0001cf70();
          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;
          free(*(void **)((int)puVar9 + -0x10));
          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
          puVar11 = (undefined4 *)0x0;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;
          free(*(void **)((int)puVar9 + -0x10));
          goto LAB_0001bf79;
        }
        goto LAB_0001bf6b;
      }
    }
  }
LAB_0001bfd0:
  puVar11 = (undefined4 *)0x0;
LAB_0001bf79:
  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {
    return puVar11;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;
  FUN_00025ce0();
  while( true ) {
    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;
    *(undefined4 *)((int)puVar9 + -0xc) = 0;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;
    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
    if (iVar7 == 0) goto LAB_0001c200;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;
    FUN_0001cf70();
    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;
LAB_0001c02e:
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 == 0) goto LAB_0001bf08;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;
    piVar5 = __errno_location();
    if (*piVar5 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar9 + -8) = 0x1904;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;
    uVar6 = (*pcVar3)();
    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c078:
    if ((uVar6 & 0x100) == 0) break;
LAB_0001be45:
    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {
      if ((uVar6 & 4) != 0) {
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;
        FUN_0001cf70();
        goto LAB_0001bf08;
      }
      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;
      iVar7 = FUN_000177a0();
      if (iVar7 != 1) goto LAB_0001bf08;
    }
  }
  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;
  iVar7 = FUN_0001e440();
  *(int *)((int)puVar9 + 0x10) = iVar7;
  if (iVar7 != -1) {
    if (puVar11[0x33] == 0) {
LAB_0001c5b0:
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);
      *(undefined4 *)((int)puVar9 + -0x18) = 2;
      *(undefined4 *)((int)puVar9 + -0x1c) = 1;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 < 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;
        FUN_0001cf70();
      }
    }
    else if (0 < (int)puVar11[0x33]) {
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      piVar23 = (int *)((int)puVar9 + 0x30);
      *(int **)((int)puVar9 + -0x14) = piVar23;
      *(undefined4 *)((int)puVar9 + -0x18) = 2;
      *(undefined4 *)((int)puVar9 + -0x1c) = 1;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 < 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;
        FUN_0001cf70();
      }
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      *(int **)((int)puVar9 + -0x14) = piVar23;
      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;
      *(undefined4 *)((int)puVar9 + -0x1c) = 1;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 < 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;
        FUN_0001cf70();
        goto LAB_0001bf08;
      }
    }
    uVar6 = puVar11[0x3d];
    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);
    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;
    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;
    if (puVar15 == (undefined1 *)0x0) {
      piVar23 = (int *)((int)puVar9 + 0x54);
      uVar16 = 0;
      do {
        *(undefined4 *)((int)piVar23 + uVar16) = 0;
        uVar16 = uVar16 + 4;
      } while (uVar16 < 0x18);
      *(undefined4 *)((int)puVar9 + 0x58) = 0;
      *(ushort *)((int)puVar9 + 0x52) =
           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;
      *(undefined2 *)((int)puVar9 + 0x50) = 10;
      *(undefined4 *)((int)puVar9 + 0x5c) = 0;
      *(undefined4 *)((int)puVar9 + 0x60) = 0;
      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);
      *(undefined4 *)((int)puVar9 + 100) = 0;
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
    else {
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);
    *(undefined4 *)((int)puVar9 + -0x10) = 4;
    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);
    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;
    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;
    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;
    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                       *(socklen_t *)((int)puVar9 + -0x10));
    if (iVar7 < 0) {
      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;
      piVar5 = __errno_location();
      *(int *)((int)puVar9 + -0x10) = *piVar5;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;
      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
      *(char **)((int)puVar9 + -8) = pcVar13;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;
      FUN_0001cf70();
    }
    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);
    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);
    goto LAB_0001c127;
  }
  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;
  piVar5 = __errno_location();
  *(int *)((int)puVar9 + -0x10) = *piVar5;
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;
  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
  *(char **)((int)puVar9 + -8) = pcVar13;
  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;
  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;
  FUN_0001cf70();
LAB_0001bf08:
  if (puVar11[0x34] != -1) {
    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;
    close(*(int *)((int)puVar9 + -0x10));
  }
  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;
  free(*(void **)((int)puVar9 + -0x10));
  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;
  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
  if (iVar7 != 0) {
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;
    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    puVar15 = (undefined1 *)((int)puVar9 + -0x10);
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;
    (*pcVar3)();
    goto LAB_0001ccae;
  }
  if (puVar11[0x36] != -1) {
    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 != 0) {
      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;
      piVar5 = __errno_location();
      if (*piVar5 == 9) goto LAB_0001c5fa;
    }
  }
  goto LAB_0001bf6b;
LAB_0001c5fa:
  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;
  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;
  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;
  (*pcVar3)();
  puVar9 = (undefined4 *)((int)puVar9 + -0x10);
  do {
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;
    FUN_0001cf70();
    *(int **)((int)puVar9 + -0x10) = piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;
    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
    puVar17 = puVar9;
    if (iVar7 != 0) goto LAB_0001cd49;
    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 == 0) goto LAB_0001bf08;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;
    piVar5 = __errno_location();
    if (*piVar5 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar9 + -8) = 0x1911;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;
    puVar15 = (undefined1 *)(*pcVar3)();
    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c698:
    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;
    if (puVar15 == (undefined1 *)0x0) {
      puVar15 = (undefined1 *)((int)puVar9 + 0x40);
      *(undefined2 *)((int)puVar9 + 0x40) = 2;
      *(undefined4 *)((int)puVar9 + 0x44) = 0;
      *(undefined4 *)((int)puVar9 + 0x48) = 0;
      *(undefined4 *)((int)puVar9 + 0x4c) = 0;
      *(ushort *)((int)puVar9 + 0x42) =
           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;
      uVar18 = 0x10;
      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
    else {
      uVar18 = 0x10;
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
LAB_0001c127:
    *(undefined4 *)((int)puVar9 + -8) = uVar18;
    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;
    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),
                 *(socklen_t *)((int)puVar9 + -8));
    if (iVar7 == -1) {
      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;
      piVar23 = __errno_location();
      *(int *)((int)puVar9 + -0x10) = *piVar23;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;
      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
      *(char **)((int)puVar9 + -0x14) = pcVar13;
      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);
      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;
      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;
      FUN_0001cf70();
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;
      iVar7 = close(*(int *)((int)puVar9 + -0x10));
      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
      *(undefined4 *)((int)puVar9 + -8) = 0x184d;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
      pcVar3 = *(code **)(&UNK_00014633 + iVar8);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;
      (*pcVar3)();
      puVar9 = (undefined4 *)((int)puVar9 + -0x10);
      goto LAB_0001c828;
    }
    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {
      if (puVar11[0x4a] == 0) {
        puVar11[0x4a] = 10;
      }
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;
      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;
      *(undefined4 *)((int)puVar9 + -0x1c) = 6;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 != 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;
        FUN_0001cf70();
      }
    }
    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;
    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));
    if (-1 < iVar7) goto LAB_0001bdf8;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;
    piVar23 = __errno_location();
    *(int *)((int)puVar9 + -0x10) = *piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;
    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
    *(char **)((int)puVar9 + -8) = pcVar13;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;
    FUN_0001cf70();
    piVar14 = *(int **)((int)puVar9 + -0x10);
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar9 + -8) = 0x186b;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;
    (*pcVar3)();
    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c200:
    piVar23 = puVar11 + 0x2b;
    *(undefined4 *)((int)puVar9 + -0xc) = 0;
    *(int **)((int)puVar9 + -0x10) = piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;
    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
  } while (iVar7 != 0);
  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;
  piVar14 = (int *)puVar11[0x22];
  if (piVar14 == (int *)0x0) {
    iVar7 = iVar8 + 0xb306;
    if ((puVar11[0x3d] & 4) != 0) {
      iVar7 = iVar8 + 0xb2fb;
    }
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;
    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];
    *(int *)((int)puVar9 + -0x1c) = iVar7;
    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;
    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;
    iVar7 = FUN_0001f380();
    if (iVar7 != 0) goto LAB_0001bf79;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;
    piVar14 = __errno_location();
    *(int *)((int)puVar9 + -0x10) = *piVar14;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;
    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
    *(char **)((int)puVar9 + -8) = pcVar13;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;
    puVar20 = (undefined4 *)((int)puVar9 + -0x10);
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;
    FUN_0001cf70();
    *(int **)((int)puVar9 + -0x10) = piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;
    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
    puVar22 = (undefined1 *)puVar9;
    if (iVar7 == 0) {
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;
      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
      if (iVar7 != 0) goto LAB_0001cd2a;
      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;
      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;
      iVar7 = close(*(int *)((int)puVar9 + -0x10));
      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
      *(undefined4 *)((int)puVar9 + -8) = 0x193e;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
      pcVar3 = *(code **)(&UNK_00014633 + iVar8);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;
      (*pcVar3)();
LAB_0001c310:
      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;
      *(undefined4 *)((int)puVar20 + -0x10) = 0;
      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;
      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));
      puVar11[0x36] = iVar7;
      if (iVar7 == -1) {
        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;
        piVar5 = __errno_location();
        *(int *)((int)puVar20 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;
        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));
        puVar21 = (undefined1 *)((int)puVar20 + -8);
        *(char **)((int)puVar20 + -8) = pcVar13;
        iVar8 = iVar8 + 0xc0c7;
        goto LAB_0001c3a9;
      }
      puVar9 = puVar20;
      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;
      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;
      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;
      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;
      FUN_0001cf70();
      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];
      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;
      iVar7 = close(*(int *)((int)puVar20 + -0x10));
      if (iVar7 != 0) {
        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;
        piVar5 = __errno_location();
        if (*piVar5 == 9) {
          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;
          *(undefined4 *)((int)puVar20 + -8) = 0x172d;
          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;
          puVar9 = (undefined4 *)((int)puVar20 + -0x10);
          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
          pcVar3 = *(code **)(&UNK_00014633 + iVar8);
          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;
          (*pcVar3)();
LAB_0001c3a0:
          iVar8 = iVar8 + 0xc153;
          puVar21 = (undefined1 *)((int)puVar9 + -8);
LAB_0001c3a9:
          *(int *)(puVar21 + -4) = iVar8;
          *(undefined4 **)(puVar21 + -8) = puVar11;
          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;
          FUN_0001cf70();
          *(undefined4 **)(puVar21 + -8) = puVar11;
          puVar11 = (undefined4 *)0x0;
          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;
          free(*(void **)(puVar21 + -8));
          puVar9 = (undefined4 *)(puVar21 + 8);
          goto LAB_0001bf79;
        }
      }
LAB_0001bf6b:
      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
      puVar11 = (undefined4 *)0x0;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;
      free(*(void **)((int)puVar9 + -0x10));
      goto LAB_0001bf79;
    }
LAB_0001cccd:
    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;
    *(undefined4 *)(puVar22 + -8) = 0x193b;
    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;
    puVar9 = (undefined4 *)(puVar22 + -0x10);
    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;
    (*pcVar3)();
LAB_0001ccec:
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;
    *(undefined4 *)((int)puVar9 + -8) = 0x1977;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;
    (*pcVar3)();
    puVar15 = (undefined1 *)((int)puVar9 + -0x10);
  }
  else {
LAB_0001c828:
    piVar23 = (int *)puVar11[0x3a];
    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;
    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));
    puVar11[0x1d] = pvVar12;
    if (pvVar12 != (void *)0x0) {
      *(undefined4 *)((int)puVar9 + 0x18) = 0;
      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;
      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;
      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;
      while( true ) {
        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));
        *puVar17 = *puVar11;
        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);
        puVar17[0x4b] = puVar11[0x4b];
        piVar23 = (int *)((int)puVar11 - iVar7);
        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);
        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {
          *piVar14 = *piVar23;
          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;
          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;
        }
        puVar17[0x1c] = puVar11;
        puVar17[0x22] = 0;
        puVar17[0x1d] = 0;
        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {
          puVar17[0x36] = 0xffffffff;
        }
        else {
          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;
          *(undefined4 *)((int)puVar9 + -0x10) = 0;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;
          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));
          puVar17[0x36] = iVar7;
          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
          if (iVar7 == -1) {
            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;
            piVar5 = __errno_location();
            *(int *)((int)puVar9 + -0x10) = *piVar5;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;
            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
            *(char **)((int)puVar9 + -8) = pcVar13;
            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;
            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;
            FUN_0001cf70();
            goto LAB_0001ca07;
          }
          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {
            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;
            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;
            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;
            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;
            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;
            FUN_0001cf70();
            piVar23 = *(int **)((int)puVar9 + -0x10);
            *(undefined4 *)((int)puVar9 + -0x10) =
                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;
            iVar7 = close(*(int *)((int)puVar9 + -0x10));
            if (iVar7 == 0) goto LAB_0001ca07;
            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;
            piVar5 = __errno_location();
            if (*piVar5 != 9) goto LAB_0001ca07;
            goto LAB_0001ccec;
          }
        }
        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);
        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {
          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);
        }
        puVar17[0x3a] = uVar18;
        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {
          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;
          iVar7 = FUN_000177a0();
          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
          if (iVar7 != 1) goto LAB_0001ca07;
        }
        piVar23 = puVar17 + 0x2b;
        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
        *(undefined4 *)((int)puVar9 + -0xc) = 0;
        *(int **)((int)puVar9 + -0x10) = piVar23;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;
        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
        puVar15 = (undefined1 *)puVar9;
        if (iVar7 != 0) goto LAB_0001cc38;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;
        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;
        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];
        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;
        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;
        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;
        iVar7 = FUN_0001f380();
        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
        if (iVar7 == 0) break;
        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;
        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;
        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;
        pvVar12 = (void *)puVar11[0x1d];
      }
      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;
      piVar5 = __errno_location();
      *(int *)((int)puVar9 + -0x10) = *piVar5;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;
      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
      *(char **)((int)puVar9 + -8) = pcVar13;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;
      puVar15 = (undefined1 *)((int)puVar9 + -0x10);
      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;
      FUN_0001cf70();
      *(int **)((int)puVar9 + -0x10) = piVar23;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;
      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
      if (iVar7 != 0) {
        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;
        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
        pcVar3 = *(code **)(&UNK_00014633 + iVar8);
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;
        (*pcVar3)();
        puVar11 = extraout_EDX;
LAB_0001cc38:
        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;
        *(undefined4 **)(puVar15 + -0x10) = puVar11;
        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;
        FUN_0001cf70();
        puVar9 = (undefined4 *)puVar15;
      }
LAB_0001ca07:
      if (*(int *)((int)puVar9 + 0x20) != 0) {
        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;
        MHD_stop_daemon();
        goto LAB_0001bfd0;
      }
    }
    if (*(int *)((int)puVar9 + 0x10) == -1) {
LAB_0001ca3b:
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;
      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
      puVar15 = (undefined1 *)puVar9;
      if (iVar7 == 0) {
        if (puVar11[0x1d] != 0) {
          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;
          free(*(void **)((int)puVar9 + -0x10));
        }
        goto LAB_0001bf08;
      }
LAB_0001ccae:
      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;
      *(undefined4 *)(puVar15 + -8) = 0x19ba;
      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;
      puVar22 = puVar15 + -0x10;
      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
      pcVar3 = *(code **)(&UNK_00014633 + iVar8);
      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;
      (*pcVar3)();
      goto LAB_0001cccd;
    }
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 == 0) goto LAB_0001ca3b;
    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;
    piVar5 = __errno_location();
    puVar15 = (undefined1 *)puVar9;
    if (*piVar5 != 9) goto LAB_0001ca3b;
  }
  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;
  *(undefined4 *)(puVar15 + -8) = 0x19b9;
  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;
  puVar9 = (undefined4 *)(puVar15 + -0x10);
  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;
  (*pcVar3)();
LAB_0001cd2a:
  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;
  *(undefined4 *)((int)puVar9 + -8) = 0x193c;
  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
  puVar17 = (undefined4 *)((int)puVar9 + -0x10);
  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;
  (*pcVar3)();
LAB_0001cd49:
  puVar17[-1] = iVar8 + 0xb2e1;
  puVar17[-2] = 0x190e;
  puVar17[-3] = iVar8 + 0xb1ff;
  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  puVar17[-5] = 0x1cd68;
  (*pcVar3)();
  puVar17[-5] = &UNK_000144c7 + iVar8;
  puVar17[-6] = 0x1cd76;
  puVar17[-9] = puVar17 + 3;
  puVar17[-10] = puVar17[2];
  puVar17[-0xb] = puVar17[1];
  puVar17[-0xc] = *puVar17;
  puVar17[-0xd] = puVar17[-1];
  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);
  puVar17[-0xf] = puVar17[-3];
  puVar17[-0x10] = 0x1cda6;
  puVar17 = (undefined4 *)MHD_start_daemon_va();
  return puVar17;
}


JMP dword ptr [EBX + 0x110]
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Switch with 1 destination removed at 0x00012240 */\n\nundefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)\n\n{\n  undefined2 uVar1;\n  short sVar2;\n  code *pcVar3;\n  ssize_t sVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined *puVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  char *pcVar13;\n  int *piVar14;\n  undefined1 *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  undefined4 extraout_ECX;\n  undefined4 uVar18;\n  undefined4 *extraout_EDX;\n  undefined1 *puVar19;\n  undefined4 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  uint unaff_EBP;\n  int *piVar23;\n  undefined *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte bVar25;\n  undefined1 auStack_2c [12];\n  undefined *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar25 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar22 = auStack_2c;\n  puVar15 = auStack_2c;\n  puVar17 = (undefined4 *)auStack_2c;\n  puVar19 = auStack_2c;\n  if (param_2 == 0) {\n    return param_1;\n  }\n  *(undefined1 *)(param_2 + 0xdc) = 1;\n  puVar9 = *(undefined4 **)(param_2 + 0x74);\n  if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }\n  puVar17[-1] = "Failed to destroy mutex.\n";\n  puVar17[-2] = 0x1b33;\n  puVar17[-3] = "daemon.c";\n  puVar17[-4] = DAT_00030168;\n  puVar17[-5] = 0x1bb2f;\n  (*DAT_0003016c)();\n  puVar17[-5] = unaff_EBP;\n  puVar17[-6] = unaff_EDI;\n  puVar17[-7] = param_2;\n  puVar17[-8] = 0x30000;\n  puVar17[-9] = 0x1bb39;\n  iVar8 = puVar17[-9];\n  piVar5 = (int *)puVar17[-3];\n  piVar14 = (int *)puVar17[1];\n  puVar17[-0x3b] = 1;\n  puVar17[-0x44] = puVar17[-2];\n  puVar17[-0x3a] = 0;\n  puVar17[-0x43] = puVar17[-1];\n  puVar17[-0x42] = puVar17[2];\n  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar17[-0x3f] = (uint)piVar5 & 2;\n  puVar9 = puVar17 + -0x47;\n  if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }\nLAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;\nLAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;\n  FUN_00025ce0();\n  while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;\n  iVar7 = FUN_0001e440();\n  *(int *)((int)puVar9 + 0x10) = iVar7;\n  if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;\n  piVar5 = __errno_location();\n  *(int *)((int)puVar9 + -0x10) = *piVar5;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;\n  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n  *(char **)((int)puVar9 + -8) = pcVar13;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;\n  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;\n  FUN_0001cf70();\nLAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }\n  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar9 + -0x10));\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;\n  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n  if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }\n  if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;\n  (*pcVar3)();\n  puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n  do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);\n  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;\n  piVar14 = (int *)puVar11[0x22];\n  if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar15 + -8) = 0x19b9;\n  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n  puVar9 = (undefined4 *)(puVar15 + -0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;\n  (*pcVar3)();\nLAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar9 + -8) = 0x193c;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  puVar17 = (undefined4 *)((int)puVar9 + -0x10);\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;\n  (*pcVar3)();\nLAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;\n  puVar17[-2] = 0x190e;\n  puVar17[-3] = iVar8 + 0xb1ff;\n  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  puVar17[-5] = 0x1cd68;\n  (*pcVar3)();\n  puVar17[-5] = &UNK_000144c7 + iVar8;\n  puVar17[-6] = 0x1cd76;\n  puVar17[-9] = puVar17 + 3;\n  puVar17[-10] = puVar17[2];\n  puVar17[-0xb] = puVar17[1];\n  puVar17[-0xc] = *puVar17;\n  puVar17[-0xd] = puVar17[-1];\n  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);\n  puVar17[-0xf] = puVar17[-3];\n  puVar17[-0x10] = 0x1cda6;\n  puVar17 = (undefined4 *)MHD_start_daemon_va();\n  return puVar17;\n}\n\n" comment comment (ERROR "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)" (binary_expression "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)" identifier * (ERROR "__regparm1" identifier) (call_expression "MHD_stop_daemon(undefined4 *param_1,int param_2)" identifier (argument_list "(undefined4 *param_1,int param_2)" ( (binary_expression "undefined4 *param_1" identifier * identifier) , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  undefined2 uVar1;\n  short sVar2;\n  code *pcVar3;\n  ssize_t sVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined *puVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  char *pcVar13;\n  int *piVar14;\n  undefined1 *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  undefined4 extraout_ECX;\n  undefined4 uVar18;\n  undefined4 *extraout_EDX;\n  undefined1 *puVar19;\n  undefined4 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  uint unaff_EBP;\n  int *piVar23;\n  undefined *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte bVar25;\n  undefined1 auStack_2c [12];\n  undefined *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar25 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar22 = auStack_2c;\n  puVar15 = auStack_2c;\n  puVar17 = (undefined4 *)auStack_2c;\n  puVar19 = auStack_2c;\n  if (param_2 == 0) {\n    return param_1;\n  }\n  *(undefined1 *)(param_2 + 0xdc) = 1;\n  puVar9 = *(undefined4 **)(param_2 + 0x74);\n  if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }\n  puVar17[-1] = "Failed to destroy mutex.\n";\n  puVar17[-2] = 0x1b33;\n  puVar17[-3] = "daemon.c";\n  puVar17[-4] = DAT_00030168;\n  puVar17[-5] = 0x1bb2f;\n  (*DAT_0003016c)();\n  puVar17[-5] = unaff_EBP;\n  puVar17[-6] = unaff_EDI;\n  puVar17[-7] = param_2;\n  puVar17[-8] = 0x30000;\n  puVar17[-9] = 0x1bb39;\n  iVar8 = puVar17[-9];\n  piVar5 = (int *)puVar17[-3];\n  piVar14 = (int *)puVar17[1];\n  puVar17[-0x3b] = 1;\n  puVar17[-0x44] = puVar17[-2];\n  puVar17[-0x3a] = 0;\n  puVar17[-0x43] = puVar17[-1];\n  puVar17[-0x42] = puVar17[2];\n  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar17[-0x3f] = (uint)piVar5 & 2;\n  puVar9 = puVar17 + -0x47;\n  if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }\nLAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;\nLAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;\n  FUN_00025ce0();\n  while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;\n  iVar7 = FUN_0001e440();\n  *(int *)((int)puVar9 + 0x10) = iVar7;\n  if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;\n  piVar5 = __errno_location();\n  *(int *)((int)puVar9 + -0x10) = *piVar5;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;\n  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n  *(char **)((int)puVar9 + -8) = pcVar13;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;\n  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;\n  FUN_0001cf70();\nLAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }\n  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar9 + -0x10));\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;\n  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n  if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }\n  if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;\n  (*pcVar3)();\n  puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n  do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);\n  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;\n  piVar14 = (int *)puVar11[0x22];\n  if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar15 + -8) = 0x19b9;\n  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n  puVar9 = (undefined4 *)(puVar15 + -0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;\n  (*pcVar3)();\nLAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar9 + -8) = 0x193c;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  puVar17 = (undefined4 *)((int)puVar9 + -0x10);\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;\n  (*pcVar3)();\nLAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;\n  puVar17[-2] = 0x190e;\n  puVar17[-3] = iVar8 + 0xb1ff;\n  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  puVar17[-5] = 0x1cd68;\n  (*pcVar3)();\n  puVar17[-5] = &UNK_000144c7 + iVar8;\n  puVar17[-6] = 0x1cd76;\n  puVar17[-9] = puVar17 + 3;\n  puVar17[-10] = puVar17[2];\n  puVar17[-0xb] = puVar17[1];\n  puVar17[-0xc] = *puVar17;\n  puVar17[-0xd] = puVar17[-1];\n  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);\n  puVar17[-0xf] = puVar17[-3];\n  puVar17[-0x10] = 0x1cda6;\n  puVar17 = (undefined4 *)MHD_start_daemon_va();\n  return puVar17;\n}" { (declaration "undefined2 uVar1;" type_identifier identifier ;) (declaration "short sVar2;" (sized_type_specifier "short" short) identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "ssize_t sVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "void *pvVar12;" primitive_type (pointer_declarator "*pvVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined4 *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 *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 "uint unaff_EBP;" type_identifier identifier ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined *unaff_EDI;" type_identifier (pointer_declarator "*unaff_EDI" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined1 auStack_2c [12];" type_identifier (array_declarator "auStack_2c [12]" identifier [ number_literal ]) ;) (declaration "undefined *puStack_20;" type_identifier (pointer_declarator "*puStack_20" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "undefined4 uStack_10;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "uStack_10 = 0x30000;" (assignment_expression "uStack_10 = 0x30000" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1b6f9;" (assignment_expression "uStack_14 = 0x1b6f9" identifier = number_literal) ;) (expression_statement "puVar22 = auStack_2c;" (assignment_expression "puVar22 = auStack_2c" identifier = identifier) ;) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" identifier = identifier) ;) (expression_statement "puVar17 = (undefined4 *)auStack_2c;" (assignment_expression "puVar17 = (undefined4 *)auStack_2c" identifier = (cast_expression "(undefined4 *)auStack_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar19 = auStack_2c;" (assignment_expression "puVar19 = auStack_2c" identifier = identifier) ;) (if_statement "if (param_2 == 0) {\n    return param_1;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return param_1;\n  }" { (return_statement "return param_1;" return identifier ;) })) (expression_statement "*(undefined1 *)(param_2 + 0xdc) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0xdc) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0xdc)" * (cast_expression "(undefined1 *)(param_2 + 0xdc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xdc)" ( (binary_expression "param_2 + 0xdc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar9 = *(undefined4 **)(param_2 + 0x74);" (assignment_expression "puVar9 = *(undefined4 **)(param_2 + 0x74)" identifier = (pointer_expression "*(undefined4 **)(param_2 + 0x74)" * (cast_expression "(undefined4 **)(param_2 + 0x74)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0xdd) == '\0')" ( (binary_expression "*(char *)(param_2 + 0xdd) == '\0'" (pointer_expression "*(char *)(param_2 + 0xdd)" * (cast_expression "(char *)(param_2 + 0xdd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xdd)" ( (binary_expression "param_2 + 0xdd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }" { (expression_statement "unaff_EDI = *(undefined **)(param_2 + 200);" (assignment_expression "unaff_EDI = *(undefined **)(param_2 + 200)" identifier = (pointer_expression "*(undefined **)(param_2 + 200)" * (cast_expression "(undefined **)(param_2 + 200)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 200)" ( (binary_expression "param_2 + 200" identifier + number_literal) ))))) ;) (expression_statement "puStack_20 = unaff_EDI;" (assignment_expression "puStack_20 = unaff_EDI" identifier = identifier) ;) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" identifier = identifier) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }" { (do_statement "do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );" do (compound_statement "{\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      }" { (expression_statement "puVar22 = puVar15;" (assignment_expression "puVar22 = puVar15" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" if (parenthesized_expression "((*(byte *)(param_2 + 0xf4) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0xf4) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf4) & 8)" ( (binary_expression "*(byte *)(param_2 + 0xf4) & 8" (pointer_expression "*(byte *)(param_2 + 0xf4)" * (cast_expression "(byte *)(param_2 + 0xf4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xf4)" ( (binary_expression "param_2 + 0xf4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }" { (labeled_statement "LAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;" statement_identifier : (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1ba7f;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1ba7f" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00017f40();" (call_expression "FUN_00017f40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" else (compound_statement "{\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" { (expression_statement "puVar10 = *(undefined **)(param_2 + 0xd8);" (assignment_expression "puVar10 = *(undefined **)(param_2 + 0xd8)" identifier = (pointer_expression "*(undefined **)(param_2 + 0xd8)" * (cast_expression "(undefined **)(param_2 + 0xd8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) ))))) ;) (if_statement "if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" if (parenthesized_expression "(puVar10 == (undefined *)0xffffffff)" ( (binary_expression "puVar10 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }" { (if_statement "if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }" if (parenthesized_expression "((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0))" ( (binary_expression "(*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)" (parenthesized_expression "(*(int *)(puVar15 + 0xc) != -1)" ( (binary_expression "*(int *)(puVar15 + 0xc) != -1" (pointer_expression "*(int *)(puVar15 + 0xc)" * (cast_expression "(int *)(puVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_2 + 0x70) == 0)" ( (binary_expression "*(int *)(param_2 + 0x70) == 0" (pointer_expression "*(int *)(param_2 + 0x70)" * (cast_expression "(int *)(param_2 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }" { (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba0c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));" (call_expression "shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" else (compound_statement "{\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" { (labeled_statement "LAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 8" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined **)(puVar15 + -0xc) = &DAT_000281c0;" (assignment_expression "*(undefined **)(puVar15 + -0xc) = &DAT_000281c0" (pointer_expression "*(undefined **)(puVar15 + -0xc)" * (cast_expression "(undefined **)(puVar15 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_000281c0" & identifier)) ;) (expression_statement "*(undefined **)(puVar15 + -0x10) = puVar10;" (assignment_expression "*(undefined **)(puVar15 + -0x10) = puVar10" (pointer_expression "*(undefined **)(puVar15 + -0x10)" * (cast_expression "(undefined **)(puVar15 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba32;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba32" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));" (assignment_expression "sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" identifier = (call_expression "write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar15 + -0xc)" * (cast_expression "(void **)(puVar15 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -8)" * (cast_expression "(size_t *)(puVar15 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" if (parenthesized_expression "(sVar4 < 1)" ( (binary_expression "sVar4 < 1" identifier < number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x1ba42;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x1ba42" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" if (parenthesized_expression "(*piVar5 != 0xb)" ( (binary_expression "*piVar5 != 0xb" (pointer_expression "*piVar5" * identifier) != number_literal) )) (compound_statement "{\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" { (expression_statement "*(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";" (assignment_expression "*(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n"" (pointer_expression "*(char **)(puVar15 + -4)" * (cast_expression "(char **)(puVar15 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (string_literal ""Failed to signal shutdown via inter-thread communication channel.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x1ae5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x1ae5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar15 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba6a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;" statement_identifier : (expression_statement "*(undefined4 *)(puVar22 + 0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar22 + 0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar22 + 0xc)" * (cast_expression "(undefined4 *)(puVar22 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xc)" ( (binary_expression "puVar22 + 0xc" identifier + number_literal) )))) = number_literal) ;)) (goto_statement "goto LAB_0001ba78;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_2 + 0x8c)" * (cast_expression "(undefined4 *)(param_2 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x8c)" ( (binary_expression "param_2 + 0x8c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1b908;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1b908" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));" (assignment_expression "iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" identifier = (call_expression "pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" identifier (argument_list "(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" ( (pointer_expression "*(pthread_t *)(puVar15 + -0x10)" * (cast_expression "(pthread_t *)(puVar15 + -0x10)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void ***)(puVar15 + -0xc)" * (cast_expression "(void ***)(puVar15 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "puVar22 = puVar15;" (assignment_expression "puVar22 = puVar15" identifier = identifier) ;) (if_statement "if (iVar8 != 0) goto LAB_0001bad2;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001bad2;" goto statement_identifier ;)) }))) (if_statement "if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }" if (parenthesized_expression "(*(int *)(param_2 + 0xd8) != -1)" ( (binary_expression "*(int *)(param_2 + 0xd8) != -1" (pointer_expression "*(int *)(param_2 + 0xd8)" * (cast_expression "(int *)(param_2 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }" { (expression_statement "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);" (assignment_expression "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8)" (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) )))) = (pointer_expression "*(int *)(param_2 + 0xd8)" * (cast_expression "(int *)(param_2 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b927;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b927" (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 "iVar8 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar8 = 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) )))) )))) ;) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1b933;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1b933" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }" { (expression_statement "*(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Failed to destroy ITC.\n"" (pointer_expression "*(char **)(puVar22 + -4)" * (cast_expression "(char **)(puVar22 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (string_literal ""Failed to destroy ITC.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b02;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b02" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1bab3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1bab3" (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 "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bab3;" goto statement_identifier ;) })) })) })) (expression_statement "puVar17 = (undefined4 *)puVar22;" (assignment_expression "puVar17 = (undefined4 *)puVar22" identifier = (cast_expression "(undefined4 *)puVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }" if (parenthesized_expression "(((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1))" ( (binary_expression "((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)" (parenthesized_expression "((*(byte *)(param_2 + 0xf5) & 2) != 0)" ( (binary_expression "(*(byte *)(param_2 + 0xf5) & 2) != 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf5) & 2)" ( (binary_expression "*(byte *)(param_2 + 0xf5) & 2" (pointer_expression "*(byte *)(param_2 + 0xf5)" * (cast_expression "(byte *)(param_2 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xf5)" ( (binary_expression "param_2 + 0xf5" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(param_2 + 0xd0) != -1)" ( (binary_expression "*(int *)(param_2 + 0xd0) != -1" (pointer_expression "*(int *)(param_2 + 0xd0)" * (cast_expression "(int *)(param_2 + 0xd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd0)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }" { (expression_statement "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);" (assignment_expression "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0)" (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) )))) = (pointer_expression "*(int *)(param_2 + 0xd0)" * (cast_expression "(int *)(param_2 + 0xd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd0)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b959;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b959" (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 "iVar8 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar8 = 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) )))) )))) ;) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1b965;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1b965" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }" { (expression_statement "*(char **)(puVar22 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)(puVar22 + -4)" * (cast_expression "(char **)(puVar22 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (string_literal ""Close socket failed.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b07;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b07" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b989;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b989" (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 "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) })) })) })) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0xac;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0xac" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_2 + 0xac" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_0001b81d;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b81d;" goto statement_identifier ;)) (expression_statement "*(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)((int)puVar17 + -4)" * (cast_expression "(char **)((int)puVar17 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -4)" ( (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -8) = 0x1b10;" (assignment_expression "*(undefined4 *)((int)puVar17 + -8) = 0x1b10" (pointer_expression "*(undefined4 *)((int)puVar17 + -8)" * (cast_expression "(undefined4 *)((int)puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -8)" ( (binary_expression "(int)puVar17 + -8" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar17 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar17 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar17 + -0xc)" * (cast_expression "(char **)((int)puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar17 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar17 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x88) == 0)" ( (binary_expression "*(int *)(param_2 + 0x88) == 0" (pointer_expression "*(int *)(param_2 + 0x88)" * (cast_expression "(int *)(param_2 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }" { (expression_statement "bVar24 = unaff_EDI == (undefined *)0xffffffff;" (assignment_expression "bVar24 = unaff_EDI == (undefined *)0xffffffff" identifier = (binary_expression "unaff_EDI == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }" { (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001b8ba;" goto statement_identifier ;) })) (labeled_statement "LAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar17 + -0xc) = 2;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0xc) = 2" (pointer_expression "*(undefined4 *)((int)puVar17 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar17 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar17 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + 0xc)" ( (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));" (call_expression "shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc))" identifier (argument_list "(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc))" ( (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar17 + -0xc)" * (cast_expression "(int *)((int)puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "uVar6 = *(uint *)(param_2 + 0x88);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x88)" identifier = (pointer_expression "*(uint *)(param_2 + 0x88)" * (cast_expression "(uint *)(param_2 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" else (compound_statement "{\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" { (labeled_statement "LAB_0001b747:\n      unaff_EBP = 0;" statement_identifier : (expression_statement "unaff_EBP = 0;" (assignment_expression "unaff_EBP = 0" identifier = number_literal) ;)) (expression_statement "unaff_EDI = &DAT_000281c0;" (assignment_expression "unaff_EDI = &DAT_000281c0" identifier = (pointer_expression "&DAT_000281c0" & identifier)) ;) (while_statement "while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }" { (expression_statement "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;" (assignment_expression "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1" (pointer_expression "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37)" * (cast_expression "(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + unaff_EBP * 0x4c + 0x37)" ( (binary_expression "puVar9 + unaff_EBP * 0x4c + 0x37" (binary_expression "puVar9 + unaff_EBP * 0x4c" identifier + (binary_expression "unaff_EBP * 0x4c" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);" (assignment_expression "iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" * (cast_expression "(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" ( (binary_expression "*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130" (binary_expression "*(int *)(param_2 + 0x74) + 0xd8" (pointer_expression "*(int *)(param_2 + 0x74)" * (cast_expression "(int *)(param_2 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) )))) + number_literal) + (binary_expression "unaff_EBP * 0x130" identifier * number_literal)) ))))) ;) (if_statement "if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;" if (parenthesized_expression "(((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb))" ( (binary_expression "((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)" (parenthesized_expression "((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1))" ( (binary_expression "(iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)" (parenthesized_expression "(iVar8 != -1)" ( (binary_expression "iVar8 != -1" identifier != number_literal) )) && (parenthesized_expression "(sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)" ( (comma_expression "sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1" (assignment_expression "sVar4 = write(iVar8,&DAT_000281c0,8)" identifier = (call_expression "write(iVar8,&DAT_000281c0,8)" identifier (argument_list "(iVar8,&DAT_000281c0,8)" ( identifier , (pointer_expression "&DAT_000281c0" & identifier) , number_literal )))) , (binary_expression "sVar4 < 1" identifier < number_literal)) ))) )) && (parenthesized_expression "(piVar5 = __errno_location(), *piVar5 != 0xb)" ( (comma_expression "piVar5 = __errno_location(), *piVar5 != 0xb" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) , (binary_expression "*piVar5 != 0xb" (pointer_expression "*piVar5" * identifier) != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = *(uint *)(param_2 + 0x88);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x88)" identifier = (pointer_expression "*(uint *)(param_2 + 0x88)" * (cast_expression "(uint *)(param_2 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "unaff_EBP = unaff_EBP + 1;" (assignment_expression "unaff_EBP = unaff_EBP + 1" identifier = (binary_expression "unaff_EBP + 1" identifier + number_literal)) ;) (if_statement "if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;" if (parenthesized_expression "(uVar6 <= unaff_EBP)" ( (binary_expression "uVar6 <= unaff_EBP" identifier <= identifier) )) (goto_statement "goto LAB_0001b7c8;" goto statement_identifier ;)) (expression_statement "puVar9 = *(undefined4 **)(param_2 + 0x74);" (assignment_expression "puVar9 = *(undefined4 **)(param_2 + 0x74)" identifier = (pointer_expression "*(undefined4 **)(param_2 + 0x74)" * (cast_expression "(undefined4 **)(param_2 + 0x74)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) })) (expression_statement "puVar19 = &stack0xffffffc4;" (assignment_expression "puVar19 = &stack0xffffffc4" identifier = (pointer_expression "&stack0xffffffc4" & identifier)) ;) (expression_statement "uVar6 = (*DAT_0003016c)();" (assignment_expression "uVar6 = (*DAT_0003016c)()" identifier = (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;" statement_identifier : (expression_statement "puVar17 = (undefined4 *)puVar19;" (assignment_expression "puVar17 = (undefined4 *)puVar19" identifier = (cast_expression "(undefined4 *)puVar19" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;" if (parenthesized_expression "(*(int *)(puVar19 + 0xc) != -1)" ( (binary_expression "*(int *)(puVar19 + 0xc) != -1" (pointer_expression "*(int *)(puVar19 + 0xc)" * (cast_expression "(int *)(puVar19 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xc)" ( (binary_expression "puVar19 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0001b7cf;" goto statement_identifier ;)) }))) (expression_statement "iVar8 = *(int *)(param_2 + 0x74);" (assignment_expression "iVar8 = *(int *)(param_2 + 0x74)" identifier = (pointer_expression "*(int *)(param_2 + 0x74)" * (cast_expression "(int *)(param_2 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }" { (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));" do (compound_statement "{\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      }" { (expression_statement "iVar7 = (int)unaff_EDI * 0x130;" (assignment_expression "iVar7 = (int)unaff_EDI * 0x130" identifier = (binary_expression "(int)unaff_EDI * 0x130" (cast_expression "(int)unaff_EDI" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "unaff_EDI = unaff_EDI + 1;" (assignment_expression "unaff_EDI = unaff_EDI + 1" identifier = (binary_expression "unaff_EDI + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = iVar8 + iVar7" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + iVar7" identifier + identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b803" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_stop_daemon();" (call_expression "MHD_stop_daemon()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *(int *)(param_2 + 0x74);" (assignment_expression "iVar8 = *(int *)(param_2 + 0x74)" identifier = (pointer_expression "*(int *)(param_2 + 0x74)" * (cast_expression "(int *)(param_2 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(unaff_EDI < *(undefined **)(param_2 + 0x88))" ( (binary_expression "unaff_EDI < *(undefined **)(param_2 + 0x88)" identifier < (pointer_expression "*(undefined **)(param_2 + 0x88)" * (cast_expression "(undefined **)(param_2 + 0x88)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) )) ;) })) (expression_statement "*(int *)((int)puVar17 + -0x10) = iVar8;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = iVar8" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" identifier (argument_list "(*(void **)((int)puVar17 + -0x10))" ( (pointer_expression "*(void **)((int)puVar17 + -0x10)" * (cast_expression "(void **)((int)puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }" statement_identifier : (if_statement "if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }" if (parenthesized_expression "(*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0)" ( (binary_expression "*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(param_2 + 0x70)" * (cast_expression "(undefined4 **)(param_2 + 0x70)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return *(undefined4 **)(param_2 + 0x70);\n    }" { (return_statement "return *(undefined4 **)(param_2 + 0x70);" return (pointer_expression "*(undefined4 **)(param_2 + 0x70)" * (cast_expression "(undefined4 **)(param_2 + 0x70)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) ;) }))) (if_statement "if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;" if (parenthesized_expression "(*(int *)((int)puVar17 + 0xc) == -1)" ( (binary_expression "*(int *)((int)puVar17 + 0xc) == -1" (pointer_expression "*(int *)((int)puVar17 + 0xc)" * (cast_expression "(int *)((int)puVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + 0xc)" ( (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);" (assignment_expression "*(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc)" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar17 + 0xc)" * (cast_expression "(int *)((int)puVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + 0xc)" ( (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b836" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = close(*(int *)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = close(*(int *)((int)puVar17 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar17 + -0x10))" identifier (argument_list "(*(int *)((int)puVar17 + -0x10))" ( (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_0001b84b;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -4) = 0x1b842;" (assignment_expression "*(undefined4 *)((int)puVar17 + -4) = 0x1b842" (pointer_expression "*(undefined4 *)((int)puVar17 + -4)" * (cast_expression "(undefined4 *)((int)puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -4)" ( (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001b84b;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (labeled_statement "LAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";" statement_identifier : (expression_statement "*(char **)((int)puVar17 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)((int)puVar17 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)((int)puVar17 + -4)" * (cast_expression "(char **)((int)puVar17 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -4)" ( (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Close socket failed.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -8) = 0x1b19;" (assignment_expression "*(undefined4 *)((int)puVar17 + -8) = 0x1b19" (pointer_expression "*(undefined4 *)((int)puVar17 + -8)" * (cast_expression "(undefined4 *)((int)puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -8)" ( (binary_expression "(int)puVar17 + -8" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar17 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar17 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar17 + -0xc)" * (cast_expression "(char **)((int)puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar17 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar17 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";" statement_identifier : (expression_statement "*(char **)(puVar15 + -4) = "Failed to join a thread.\n";" (assignment_expression "*(char **)(puVar15 + -4) = "Failed to join a thread.\n"" (pointer_expression "*(char **)(puVar15 + -4)" * (cast_expression "(char **)(puVar15 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (string_literal ""Failed to join a thread.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x1af7;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x1af7" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar15 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1baf1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1baf1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";" statement_identifier : (expression_statement "*(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)(puVar22 + -4)" * (cast_expression "(char **)(puVar22 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b2f;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b2f" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1bb10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1bb10" (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 "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" else (compound_statement "{\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" { (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }" { (if_statement "if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;" if (parenthesized_expression "((*(byte *)(param_2 + 0xf4) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0xf4) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf4) & 8)" ( (binary_expression "*(byte *)(param_2 + 0xf4) & 8" (pointer_expression "*(byte *)(param_2 + 0xf4)" * (cast_expression "(byte *)(param_2 + 0xf4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xf4)" ( (binary_expression "param_2 + 0xf4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001ba70;" goto statement_identifier ;)) (expression_statement "puVar10 = *(undefined **)(param_2 + 0xd8);" (assignment_expression "puVar10 = *(undefined **)(param_2 + 0xd8)" identifier = (pointer_expression "*(undefined **)(param_2 + 0xd8)" * (cast_expression "(undefined **)(param_2 + 0xd8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "puStack_20 = puVar10;" (assignment_expression "puStack_20 = puVar10" identifier = identifier) ;) (if_statement "if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;" if (parenthesized_expression "(puVar10 == (undefined *)0xffffffff)" ( (binary_expression "puVar10 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001b8f8;" goto statement_identifier ;)) (expression_statement "puStack_20 = (undefined *)0xffffffff;" (assignment_expression "puStack_20 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" identifier = identifier) ;) (goto_statement "goto LAB_0001ba20;" goto statement_identifier ;) })) (expression_statement "unaff_EBP = *(uint *)(param_2 + 0x88);" (assignment_expression "unaff_EBP = *(uint *)(param_2 + 0x88)" identifier = (pointer_expression "*(uint *)(param_2 + 0x88)" * (cast_expression "(uint *)(param_2 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "puStack_20 = (undefined *)0xffffffff;" (assignment_expression "puStack_20 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (unaff_EBP != 0) goto LAB_0001b747;" if (parenthesized_expression "(unaff_EBP != 0)" ( (binary_expression "unaff_EBP != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b747;" goto statement_identifier ;)) (labeled_statement "LAB_0001b8ba:\n    free(puVar9);" statement_identifier : (expression_statement "free(puVar9);" (call_expression "free(puVar9)" identifier (argument_list "(puVar9)" ( identifier ))) ;)) (expression_statement "puVar17 = (undefined4 *)auStack_2c;" (assignment_expression "puVar17 = (undefined4 *)auStack_2c" identifier = (cast_expression "(undefined4 *)auStack_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x70) != 0)" ( (binary_expression "*(int *)(param_2 + 0x70) != 0" (pointer_expression "*(int *)(param_2 + 0x70)" * (cast_expression "(int *)(param_2 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      return puVar9;\n    }" { (return_statement "return puVar9;" return identifier ;) })) (labeled_statement "LAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104)" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_2 + 0x104)" * (cast_expression "(undefined4 *)(param_2 + 0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x104)" ( (binary_expression "param_2 + 0x104" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b859" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" identifier (argument_list "(*(void **)((int)puVar17 + -0x10))" ( (pointer_expression "*(void **)((int)puVar17 + -0x10)" * (cast_expression "(void **)((int)puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0x108;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0x108" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_2 + 0x108" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b867" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar22 = (undefined1 *)puVar17;" (assignment_expression "puVar22 = (undefined1 *)puVar17" identifier = (cast_expression "(undefined1 *)puVar17" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_0001baf1;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001baf1;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0x94;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0x94" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_2 + 0x94" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b881" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier = (cast_expression "(undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }" { (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b895" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" identifier (argument_list "(*(void **)((int)puVar17 + -0x10))" ( (pointer_expression "*(void **)((int)puVar17 + -0x10)" * (cast_expression "(void **)((int)puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (return_statement "return puVar9;" return identifier ;) })) }))) (expression_statement "puVar17[-1] = "Failed to destroy mutex.\n";" (assignment_expression "puVar17[-1] = "Failed to destroy mutex.\n"" (subscript_expression "puVar17[-1]" identifier [ number_literal ]) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar17[-2] = 0x1b33;" (assignment_expression "puVar17[-2] = 0x1b33" (subscript_expression "puVar17[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-3] = "daemon.c";" (assignment_expression "puVar17[-3] = "daemon.c"" (subscript_expression "puVar17[-3]" identifier [ number_literal ]) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17[-4] = DAT_00030168;" (assignment_expression "puVar17[-4] = DAT_00030168" (subscript_expression "puVar17[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-5] = 0x1bb2f;" (assignment_expression "puVar17[-5] = 0x1bb2f" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar17[-5] = unaff_EBP;" (assignment_expression "puVar17[-5] = unaff_EBP" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-6] = unaff_EDI;" (assignment_expression "puVar17[-6] = unaff_EDI" (subscript_expression "puVar17[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-7] = param_2;" (assignment_expression "puVar17[-7] = param_2" (subscript_expression "puVar17[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-8] = 0x30000;" (assignment_expression "puVar17[-8] = 0x30000" (subscript_expression "puVar17[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-9] = 0x1bb39;" (assignment_expression "puVar17[-9] = 0x1bb39" (subscript_expression "puVar17[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = puVar17[-9];" (assignment_expression "iVar8 = puVar17[-9]" identifier = (subscript_expression "puVar17[-9]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = (int *)puVar17[-3];" (assignment_expression "piVar5 = (int *)puVar17[-3]" identifier = (cast_expression "(int *)puVar17[-3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[-3]" identifier [ number_literal ]))) ;) (expression_statement "piVar14 = (int *)puVar17[1];" (assignment_expression "piVar14 = (int *)puVar17[1]" identifier = (cast_expression "(int *)puVar17[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar17[-0x3b] = 1;" (assignment_expression "puVar17[-0x3b] = 1" (subscript_expression "puVar17[-0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x44] = puVar17[-2];" (assignment_expression "puVar17[-0x44] = puVar17[-2]" (subscript_expression "puVar17[-0x44]" identifier [ number_literal ]) = (subscript_expression "puVar17[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x3a] = 0;" (assignment_expression "puVar17[-0x3a] = 0" (subscript_expression "puVar17[-0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x43] = puVar17[-1];" (assignment_expression "puVar17[-0x43] = puVar17[-1]" (subscript_expression "puVar17[-0x43]" identifier [ number_literal ]) = (subscript_expression "puVar17[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x42] = puVar17[2];" (assignment_expression "puVar17[-0x42] = puVar17[2]" (subscript_expression "puVar17[-0x42]" identifier [ number_literal ]) = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar17[-0xc]" 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 "puVar17[-0x3f] = (uint)piVar5 & 2;" (assignment_expression "puVar17[-0x3f] = (uint)piVar5 & 2" (subscript_expression "puVar17[-0x3f]" identifier [ number_literal ]) = (binary_expression "(uint)piVar5 & 2" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }" if (parenthesized_expression "(((uint)piVar5 & 2) == 0)" ( (binary_expression "((uint)piVar5 & 2) == 0" (parenthesized_expression "((uint)piVar5 & 2)" ( (binary_expression "(uint)piVar5 & 2" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }" { (if_statement "if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }" if (parenthesized_expression "(((uint)piVar5 & 0x8000) != 0)" ( (binary_expression "((uint)piVar5 & 0x8000) != 0" (parenthesized_expression "((uint)piVar5 & 0x8000)" ( (binary_expression "(uint)piVar5 & 0x8000" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }" { (expression_statement "piVar5 = (int *)((uint)piVar5 | 0x2400);" (assignment_expression "piVar5 = (int *)((uint)piVar5 | 0x2400)" identifier = (cast_expression "(int *)((uint)piVar5 | 0x2400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar5 | 0x2400)" ( (binary_expression "(uint)piVar5 | 0x2400" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }" if (parenthesized_expression "(((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40))))" ( (binary_expression "((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))" (parenthesized_expression "((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240))" ( (binary_expression "(piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)" (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)" ( (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) , (binary_expression "((uint)piVar5 & 0x240) != 0x240" (parenthesized_expression "((uint)piVar5 & 0x240)" ( (binary_expression "(uint)piVar5 & 0x240" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))" ( (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40))" ( (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) , (binary_expression "((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (binary_expression "((uint)piVar5 & 0x204) != 0x204" (parenthesized_expression "((uint)piVar5 & 0x204)" ( (binary_expression "(uint)piVar5 & 0x204" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) && (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" ( (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) , (binary_expression "((uint)piVar5 & 0x4c) != 0x40" (parenthesized_expression "((uint)piVar5 & 0x4c)" ( (binary_expression "(uint)piVar5 & 0x4c" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) )))) )) ))) )) (compound_statement "{\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }" { (expression_statement "piVar23 = piVar5;" (assignment_expression "piVar23 = piVar5" identifier = identifier) ;) (if_statement "if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }" if (parenthesized_expression "(((uint)piVar5 & 0x10000) != 0)" ( (binary_expression "((uint)piVar5 & 0x10000) != 0" (parenthesized_expression "((uint)piVar5 & 0x10000)" ( (binary_expression "(uint)piVar5 & 0x10000" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }" { (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;" if (parenthesized_expression "(((uint)piVar5 & 0x240) != 0)" ( (binary_expression "((uint)piVar5 & 0x240) != 0" (parenthesized_expression "((uint)piVar5 & 0x240)" ( (binary_expression "(uint)piVar5 & 0x240" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bfd0;" goto statement_identifier ;)) (expression_statement "piVar23 = (int *)((uint)piVar5 | 0x40);" (assignment_expression "piVar23 = (int *)((uint)piVar5 | 0x40)" identifier = (cast_expression "(int *)((uint)piVar5 | 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar5 | 0x40)" ( (binary_expression "(uint)piVar5 | 0x40" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (if_statement "if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }" if (parenthesized_expression "(((uint)piVar5 & 4) == 0)" ( (binary_expression "((uint)piVar5 & 4) == 0" (parenthesized_expression "((uint)piVar5 & 4)" ( (binary_expression "(uint)piVar5 & 4" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }" { (expression_statement "piVar23 = (int *)((uint)piVar5 | 0x200);" (assignment_expression "piVar23 = (int *)((uint)piVar5 | 0x200)" identifier = (cast_expression "(int *)((uint)piVar5 | 0x200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar5 | 0x200)" ( (binary_expression "(uint)piVar5 | 0x200" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) })) (expression_statement "puVar17[-0x40] = puVar17[3];" (assignment_expression "puVar17[-0x40] = puVar17[3]" (subscript_expression "puVar17[-0x40]" identifier [ number_literal ]) = (subscript_expression "puVar17[3]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x41] = *puVar17;" (assignment_expression "puVar17[-0x41] = *puVar17" (subscript_expression "puVar17[-0x41]" identifier [ number_literal ]) = (pointer_expression "*puVar17" * identifier)) ;) (expression_statement "puVar17[-0x4a] = 0x130;" (assignment_expression "puVar17[-0x4a] = 0x130" (subscript_expression "puVar17[-0x4a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x4b] = 1;" (assignment_expression "puVar17[-0x4b] = 1" (subscript_expression "puVar17[-0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x4c] = 0x1bc1d;" (assignment_expression "puVar17[-0x4c] = 0x1bc1d" (subscript_expression "puVar17[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);" (assignment_expression "puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a])" identifier = (cast_expression "(undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(puVar17[-0x4b],puVar17[-0x4a])" identifier (argument_list "(puVar17[-0x4b],puVar17[-0x4a])" ( (subscript_expression "puVar17[-0x4b]" identifier [ number_literal ]) , (subscript_expression "puVar17[-0x4a]" identifier [ number_literal ]) ))))) ;) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\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        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }" { (expression_statement "puVar11[0x34] = 0xffffffff;" (assignment_expression "puVar11[0x34] = 0xffffffff" (subscript_expression "puVar11[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x32] = 0xffffffff;" (assignment_expression "puVar11[0x32] = 0xffffffff" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x33] = 0;" (assignment_expression "puVar11[0x33] = 0" (subscript_expression "puVar11[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar18 = puVar17[-0x41];" (assignment_expression "uVar18 = puVar17[-0x41]" identifier = (subscript_expression "puVar17[-0x41]" identifier [ number_literal ])) ;) (expression_statement "*puVar11 = piVar14;" (assignment_expression "*puVar11 = piVar14" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "puVar11[0x39] = 0;" (assignment_expression "puVar11[0x39] = 0" (subscript_expression "puVar11[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3a] = 0x3fc;" (assignment_expression "puVar11[0x3a] = 0x3fc" (subscript_expression "puVar11[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3f] = (uint)piVar23 >> 5 & 1;" (assignment_expression "puVar11[0x3f] = (uint)piVar23 >> 5 & 1" (subscript_expression "puVar11[0x3f]" identifier [ number_literal ]) = (binary_expression "(uint)piVar23 >> 5 & 1" (binary_expression "(uint)piVar23 >> 5" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) ;) (expression_statement "uVar1 = *(undefined2 *)(puVar17 + -0x44);" (assignment_expression "uVar1 = *(undefined2 *)(puVar17 + -0x44)" identifier = (pointer_expression "*(undefined2 *)(puVar17 + -0x44)" * (cast_expression "(undefined2 *)(puVar17 + -0x44)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x44)" ( (binary_expression "puVar17 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "puVar11[0x11] = uVar18;" (assignment_expression "puVar11[0x11] = uVar18" (subscript_expression "puVar11[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[0x1f] = 0x8000;" (assignment_expression "puVar11[0x1f] = 0x8000" (subscript_expression "puVar11[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x20] = 0x400;" (assignment_expression "puVar11[0x20] = 0x400" (subscript_expression "puVar11[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3b] = 0;" (assignment_expression "puVar11[0x3b] = 0" (subscript_expression "puVar11[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x36] = 0xffffffff;" (assignment_expression "puVar11[0x36] = 0xffffffff" (subscript_expression "puVar11[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x4b] = 0x80;" (assignment_expression "puVar11[0x4b] = 0x80" (subscript_expression "puVar11[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = uVar1;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = uVar1" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" * (cast_expression "(undefined2 *)(puVar11 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = puVar17[-0x40];" (assignment_expression "uVar18 = puVar17[-0x40]" identifier = (subscript_expression "puVar17[-0x40]" identifier [ number_literal ])) ;) (expression_statement "puVar11[0x10] = puVar17[-0x43];" (assignment_expression "puVar11[0x10] = puVar17[-0x43]" (subscript_expression "puVar11[0x10]" identifier [ number_literal ]) = (subscript_expression "puVar17[-0x43]" identifier [ number_literal ])) ;) (expression_statement "puVar11[1] = puVar17[-0x42];" (assignment_expression "puVar11[1] = puVar17[-0x42]" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (subscript_expression "puVar17[-0x42]" identifier [ number_literal ])) ;) (expression_statement "puVar11[0x18] = iVar8 + -0x43b9;" (assignment_expression "puVar11[0x18] = iVar8 + -0x43b9" (subscript_expression "puVar11[0x18]" identifier [ number_literal ]) = (binary_expression "iVar8 + -0x43b9" identifier + number_literal)) ;) (expression_statement "puVar11[0x1a] = iVar8 + -0x43e9;" (assignment_expression "puVar11[0x1a] = iVar8 + -0x43e9" (subscript_expression "puVar11[0x1a]" identifier [ number_literal ]) = (binary_expression "iVar8 + -0x43e9" identifier + number_literal)) ;) (expression_statement "puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);" (assignment_expression "puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8)" (subscript_expression "puVar11[0x1b]" identifier [ number_literal ]) = (pointer_expression "**(undefined4 **)(&UNK_00014497 + iVar8)" * (pointer_expression "*(undefined4 **)(&UNK_00014497 + iVar8)" * (cast_expression "(undefined4 **)(&UNK_00014497 + iVar8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014497 + iVar8)" ( (binary_expression "&UNK_00014497 + iVar8" (pointer_expression "&UNK_00014497" & identifier) + identifier) )))))) ;) (if_statement "if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" if (parenthesized_expression "(((uint)piVar23 & 0xc) == 4)" ( (binary_expression "((uint)piVar23 & 0xc) == 4" (parenthesized_expression "((uint)piVar23 & 0xc)" ( (binary_expression "(uint)piVar23 & 0xc" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }" { (expression_statement "puVar17[-0x43] = uVar18;" (assignment_expression "puVar17[-0x43] = uVar18" (subscript_expression "puVar17[-0x43]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-0x4a] = iVar8 + 0xbff7;" (assignment_expression "puVar17[-0x4a] = iVar8 + 0xbff7" (subscript_expression "puVar17[-0x4a]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xbff7" identifier + number_literal)) ;) (expression_statement "puVar17[-0x4b] = puVar11;" (assignment_expression "puVar17[-0x4b] = puVar11" (subscript_expression "puVar17[-0x4b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-0x4c] = 0x1bebc;" (assignment_expression "puVar17[-0x4c] = 0x1bebc" (subscript_expression "puVar17[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar23 = (int *)(puVar11[0x3d] | 8);" (assignment_expression "piVar23 = (int *)(puVar11[0x3d] | 8)" identifier = (cast_expression "(int *)(puVar11[0x3d] | 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11[0x3d] | 8)" ( (binary_expression "puVar11[0x3d] | 8" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) | number_literal) )))) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" statement_identifier : (if_statement "if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" if (parenthesized_expression "(((uint)piVar23 & 0x100) != 0)" ( (binary_expression "((uint)piVar23 & 0x100) != 0" (parenthesized_expression "((uint)piVar23 & 0x100)" ( (binary_expression "(uint)piVar23 & 0x100" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" { (expression_statement "piVar23 = (int *)((uint)piVar23 | 0x400);" (assignment_expression "piVar23 = (int *)((uint)piVar23 | 0x400)" identifier = (cast_expression "(int *)((uint)piVar23 | 0x400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar23 | 0x400)" ( (binary_expression "(uint)piVar23 | 0x400" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" else (compound_statement "{\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" { (if_statement "if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;" if (parenthesized_expression "(((uint)piVar23 & 8) != 0)" ( (binary_expression "((uint)piVar23 & 8) != 0" (parenthesized_expression "((uint)piVar23 & 8)" ( (binary_expression "(uint)piVar23 & 8" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bed2;" goto statement_identifier ;)) (expression_statement "piVar23 = (int *)((uint)piVar23 & 0xfffffbff);" (assignment_expression "piVar23 = (int *)((uint)piVar23 & 0xfffffbff)" identifier = (cast_expression "(int *)((uint)piVar23 & 0xfffffbff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar23 & 0xfffffbff)" ( (binary_expression "(uint)piVar23 & 0xfffffbff" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puVar20 = puVar17 + -0x47;" (assignment_expression "puVar20 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (expression_statement "puVar11[0x48] = 0;" (assignment_expression "puVar11[0x48] = 0" (subscript_expression "puVar11[0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x40] = 0;" (assignment_expression "puVar11[0x40] = 0" (subscript_expression "puVar11[0x40]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x49] = 4;" (assignment_expression "puVar11[0x49] = 4" (subscript_expression "puVar11[0x49]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x48] = 0x1bd33;" (assignment_expression "puVar17[-0x48] = 0x1bd33" (subscript_expression "puVar17[-0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = FUN_000172b0();" (assignment_expression "iVar7 = FUN_000172b0()" identifier = (call_expression "FUN_000172b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }" { (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" if (parenthesized_expression "((puVar11[0x12] == 0) || ((uVar6 & 4) == 0))" ( (binary_expression "(puVar11[0x12] == 0) || ((uVar6 & 4) == 0)" (parenthesized_expression "(puVar11[0x12] == 0)" ( (binary_expression "puVar11[0x12] == 0" (subscript_expression "puVar11[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar6 & 4) == 0)" ( (binary_expression "(uVar6 & 4) == 0" (parenthesized_expression "(uVar6 & 4)" ( (binary_expression "uVar6 & 4" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }" { (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;" if (parenthesized_expression "((uVar6 & 0x400) == 0)" ( (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001bd6c;" goto statement_identifier ;)) }) (else_clause "else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" else (compound_statement "{\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" { (expression_statement "puVar11[0x3d] = uVar6 | 0x400;" (assignment_expression "puVar11[0x3d] = uVar6 | 0x400" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = (binary_expression "uVar6 | 0x400" identifier | number_literal)) ;) }))) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (puVar11[0x22] == 0) goto LAB_0001c310;" if (parenthesized_expression "(puVar11[0x22] == 0)" ( (binary_expression "puVar11[0x22] == 0" (subscript_expression "puVar11[0x22]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0001c310;" goto statement_identifier ;)) (labeled_statement "LAB_0001bd6c:\n          uVar6 = puVar11[0x49];" statement_identifier : (expression_statement "uVar6 = puVar11[0x49];" (assignment_expression "uVar6 = puVar11[0x49]" identifier = (subscript_expression "puVar11[0x49]" identifier [ number_literal ])) ;)) (if_statement "if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }" { (expression_statement "piVar23 = (int *)(uVar6 * 0x94);" (assignment_expression "piVar23 = (int *)(uVar6 * 0x94)" identifier = (cast_expression "(int *)(uVar6 * 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar6 * 0x94)" ( (binary_expression "uVar6 * 0x94" identifier * number_literal) )))) ;) (if_statement "if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;" if (parenthesized_expression "(uVar6 != (uint)piVar23 / 0x94)" ( (binary_expression "uVar6 != (uint)piVar23 / 0x94" identifier != (binary_expression "(uint)piVar23 / 0x94" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) / number_literal)) )) (goto_statement "goto LAB_0001c3a0;" goto statement_identifier ;)) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));" (assignment_expression "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10))" identifier = (call_expression "malloc(*(size_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar9 + -0x10)" * (cast_expression "(size_t *)((int)puVar9 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11[0x41] = pvVar12;" (assignment_expression "puVar11[0x41] = pvVar12" (subscript_expression "puVar11[0x41]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }" if (parenthesized_expression "(pvVar12 == (void *)0x0)" ( (binary_expression "pvVar12 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb57;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb57" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar21 = (undefined1 *)((int)puVar9 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar9 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 0xc17b;" (assignment_expression "iVar8 = iVar8 + 0xc17b" identifier = (binary_expression "iVar8 + 0xc17b" identifier + number_literal)) ;) (goto_statement "goto LAB_0001c3a9;" goto statement_identifier ;) })) })) (expression_statement "*(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x14)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x14)" ( (binary_expression "(int)puVar9 + 0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x42" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x42" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }" { (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (if_statement "if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }" if (parenthesized_expression "(((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0))" ( (binary_expression "((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)" (parenthesized_expression "((uVar6 & 8) == 0)" ( (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)" ( (comma_expression "piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0" (assignment_expression "piVar23 = (int *)puVar11[0x22]" identifier = (cast_expression "(int *)puVar11[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ]))) , (binary_expression "piVar23 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc1d7" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (expression_statement "piVar14 = (int *)puVar11[0x32];" (assignment_expression "piVar14 = (int *)puVar11[0x32]" identifier = (cast_expression "(int *)puVar11[0x32]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x32]" identifier [ number_literal ]))) ;) (expression_statement "*(int **)((int)puVar9 + 0x10) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + 0x10) = piVar14" (pointer_expression "*(int **)((int)puVar9 + 0x10)" * (cast_expression "(int **)((int)puVar9 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;" if (parenthesized_expression "(piVar14 == (int *)0xffffffff)" ( (binary_expression "piVar14 == (int *)0xffffffff" identifier == (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c078;" goto statement_identifier ;)) (labeled_statement "LAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" statement_identifier : (if_statement "if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" if (parenthesized_expression "((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0))" ( (binary_expression "(*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)" (parenthesized_expression "(*(short *)(puVar11 + 0x3e) == 0)" ( (binary_expression "*(short *)(puVar11 + 0x3e) == 0" (pointer_expression "*(short *)(puVar11 + 0x3e)" * (cast_expression "(short *)(puVar11 + 0x3e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((puVar11[0x3d] & 0x100) == 0)" ( (binary_expression "(puVar11[0x3d] & 0x100) == 0" (parenthesized_expression "(puVar11[0x3d] & 0x100)" ( (binary_expression "puVar11[0x3d] & 0x100" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" { (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x80;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x80" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = (int *)((int)puVar9 + 0x6c);" (assignment_expression "piVar14 = (int *)((int)puVar9 + 0x6c)" identifier = (cast_expression "(int *)((int)puVar9 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6c)" ( (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (for_statement "for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }" for ( (assignment_expression "iVar7 = 0x20" identifier = number_literal) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }" { (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" * identifier) = number_literal) ;) (expression_statement "piVar14 = piVar14 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar14 = piVar14 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "piVar14 + (uint)bVar25 * -2 + 1" (binary_expression "piVar14 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "*(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);" (assignment_expression "*(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38)" (pointer_expression "*(undefined1 **)((int)puVar9 + -8)" * (cast_expression "(undefined1 **)((int)puVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);" (assignment_expression "*(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c)" (pointer_expression "*(int **)((int)puVar9 + -0xc)" * (cast_expression "(int **)((int)puVar9 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(int *)((int)puVar9 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6c)" ( (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));" (assignment_expression "iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" identifier = (call_expression "getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar9 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar9 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t **)((int)puVar9 + -8)" * (cast_expression "(socklen_t **)((int)puVar9 + -8)" ( (type_descriptor "socklen_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0001c540;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c540;" goto statement_identifier ;)) (if_statement "if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" if (parenthesized_expression "(*(uint *)((int)puVar9 + 0x38) < 0x81)" ( (binary_expression "*(uint *)((int)puVar9 + 0x38) < 0x81" (pointer_expression "*(uint *)((int)puVar9 + 0x38)" * (cast_expression "(uint *)((int)puVar9 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }" { (expression_statement "sVar2 = *(short *)((int)puVar9 + 0x6c);" (assignment_expression "sVar2 = *(short *)((int)puVar9 + 0x6c)" identifier = (pointer_expression "*(short *)((int)puVar9 + 0x6c)" * (cast_expression "(short *)((int)puVar9 + 0x6c)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6c)" ( (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" if (parenthesized_expression "((sVar2 == 2) || (sVar2 == 10))" ( (binary_expression "(sVar2 == 2) || (sVar2 == 10)" (parenthesized_expression "(sVar2 == 2)" ( (binary_expression "sVar2 == 2" identifier == number_literal) )) || (parenthesized_expression "(sVar2 == 10)" ( (binary_expression "sVar2 == 10" identifier == number_literal) ))) )) (compound_statement "{\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }" { (expression_statement "*(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;" (assignment_expression "*(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8" (pointer_expression "*(ushort *)(puVar11 + 0x3e)" * (cast_expression "(ushort *)(puVar11 + 0x3e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0x6e) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x6e)" * (cast_expression "(ushort *)((int)puVar9 + 0x6e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6e)" ( (binary_expression "(int)puVar9 + 0x6e" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 0x6e) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x6e)" * (cast_expression "(ushort *)((int)puVar9 + 0x6e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6e)" ( (binary_expression "(int)puVar9 + 0x6e" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) }) (else_clause "else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" else (if_statement "if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" if (parenthesized_expression "(sVar2 == 1)" ( (binary_expression "sVar2 == 1" identifier == number_literal) )) (compound_statement "{\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" { (expression_statement "piVar23 = (int *)0x0;" (assignment_expression "piVar23 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" * (cast_expression "(undefined2 *)(puVar11 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" else (compound_statement "{\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb328" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" * (cast_expression "(undefined2 *)(puVar11 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = number_literal) ;) }))))) }) (else_clause "else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" else (compound_statement "{\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc2bb" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) }))) }))) (do_statement "do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );" do (compound_statement "{\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001e210();" (assignment_expression "iVar7 = FUN_0001e210()" identifier = (call_expression "FUN_0001e210()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c455;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c455" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c461" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc307" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c472" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }" if (parenthesized_expression "(((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0))" ( (binary_expression "((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)" (parenthesized_expression "((puVar11[0x3d] & 0x200) != 0)" ( (binary_expression "(puVar11[0x3d] & 0x200) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x200)" ( (binary_expression "puVar11[0x3d] & 0x200" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(puVar11[0x22] != 0)" ( (binary_expression "puVar11[0x22] != 0" (subscript_expression "puVar11[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }" if (parenthesized_expression "((iVar7 != 0) && (*piVar23 == 9))" ( (binary_expression "(iVar7 != 0) && (*piVar23 == 9)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar23 == 9)" ( (binary_expression "*piVar23 == 9" (pointer_expression "*piVar23" * identifier) == number_literal) ))) )) (compound_statement "{\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }" { (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x18d4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x18d4" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001c5b0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (if_statement "if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }" if (parenthesized_expression "((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0))" ( (binary_expression "(*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)" (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) < 0x400)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) || (parenthesized_expression "((puVar11[0x3d] & 0x240) != 0)" ( (binary_expression "(puVar11[0x3d] & 0x240) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" ( (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 **)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001c200;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c200;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001c02e;" goto statement_identifier ;) })) }) (else_clause "else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" else (compound_statement "{\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" { (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;" if (parenthesized_expression "((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))" ( (binary_expression "(*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0)" (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) < 0x400)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) || (parenthesized_expression "((uVar6 & 0x240) != 0)" ( (binary_expression "(uVar6 & 0x240) != 0" (parenthesized_expression "(uVar6 & 0x240)" ( (binary_expression "uVar6 & 0x240" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0001be45;" goto statement_identifier ;)) }))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x400;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x400" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = *(int **)((int)puVar9 + 0x10);" (assignment_expression "piVar14 = *(int **)((int)puVar9 + 0x10)" identifier = (pointer_expression "*(int **)((int)puVar9 + 0x10)" * (cast_expression "(int **)((int)puVar9 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int **)((int)puVar9 + -8) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + -8) = piVar14" (pointer_expression "*(int **)((int)puVar9 + -8)" * (cast_expression "(int **)((int)puVar9 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb85b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar14" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c50f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c50f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x18e3;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x18e3" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c537" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c545;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c545" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc293" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c560" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc1ab" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x41]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001bf6b;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }" statement_identifier : (if_statement "if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }" if (parenthesized_expression "(*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar9 + 0xec)" * (cast_expression "(int *)((int)puVar9 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xec)" ( (binary_expression "(int)puVar9 + 0xec" (cast_expression "(int)puVar9" ( (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    return puVar11;\n  }" { (return_statement "return puVar11;" return identifier ;) }))) comment (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cc8f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00025ce0();" (call_expression "FUN_00025ce0()" identifier (argument_list "()" ( ))) ;) (while_statement "while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 **)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c005" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001c200;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c200;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c020" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c04a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c04a" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1904;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1904" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c072" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = (*pcVar3)();" (assignment_expression "uVar6 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;" statement_identifier : (if_statement "if ((uVar6 & 0x100) == 0) break;" if (parenthesized_expression "((uVar6 & 0x100) == 0)" ( (binary_expression "(uVar6 & 0x100) == 0" (parenthesized_expression "(uVar6 & 0x100)" ( (binary_expression "uVar6 & 0x100" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;))) (labeled_statement "LAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" statement_identifier : (if_statement "if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" if (parenthesized_expression "(((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0))" ( (binary_expression "((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)" (parenthesized_expression "((uVar6 & 0x200) != 0)" ( (binary_expression "(uVar6 & 0x200) != 0" (parenthesized_expression "(uVar6 & 0x200)" ( (binary_expression "uVar6 & 0x200" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)" ( (comma_expression "piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0" (assignment_expression "piVar14 = (int *)puVar11[0x22]" identifier = (cast_expression "(int *)puVar11[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ]))) , (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" { (if_statement "if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "((uVar6 & 4) != 0)" ( (binary_expression "(uVar6 & 4) != 0" (parenthesized_expression "(uVar6 & 4)" ( (binary_expression "uVar6 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc33f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be74" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1bfdf" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_000177a0();" (assignment_expression "iVar7 = FUN_000177a0()" identifier = (call_expression "FUN_000177a0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 1) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 != 1)" ( (binary_expression "iVar7 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) }))) })) (expression_statement "*(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;" (assignment_expression "*(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10" (pointer_expression "*(uint *)((int)puVar9 + -0x10)" * (cast_expression "(uint *)((int)puVar9 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10" (parenthesized_expression "(-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8)" ( (binary_expression "-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8" (unary_expression "-(uint)((uVar6 & 0x10) == 0)" - (call_expression "(uint)((uVar6 & 0x10) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c098" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001e440();" (assignment_expression "iVar7 = FUN_0001e440()" identifier = (call_expression "FUN_0001e440()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + 0x10) = iVar7;" (assignment_expression "*(int *)((int)puVar9 + 0x10) = iVar7" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }" if (parenthesized_expression "(iVar7 != -1)" ( (binary_expression "iVar7 != -1" identifier != number_literal) )) (compound_statement "{\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }" { (if_statement "if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" if (parenthesized_expression "(puVar11[0x33] == 0)" ( (binary_expression "puVar11[0x33] == 0" (subscript_expression "puVar11[0x33]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }" { (labeled_statement "LAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);" (assignment_expression "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30)" (pointer_expression "*(undefined1 **)((int)puVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x30)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x30)" ( (binary_expression "(int)puVar9 + 0x30" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c5d7" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" else (if_statement "if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" if (parenthesized_expression "(0 < (int)puVar11[0x33])" ( (binary_expression "0 < (int)puVar11[0x33]" number_literal < (cast_expression "(int)puVar11[0x33]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar11[0x33]" identifier [ number_literal ]))) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = (int *)((int)puVar9 + 0x30);" (assignment_expression "piVar23 = (int *)((int)puVar9 + 0x30)" identifier = (cast_expression "(int *)((int)puVar9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x30)" ( (binary_expression "(int)puVar9 + 0x30" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)((int)puVar9 + -0x14) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x14) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x14)" * (cast_expression "(int **)((int)puVar9 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c707" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb9d" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)puVar9 + -0x14) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x14) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x14)" * (cast_expression "(int **)((int)puVar9 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0xf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0xf" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c725" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c735;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c735" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c750" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) })))) (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = *(undefined1 **)((int)puVar9 + 0x34);" (assignment_expression "puVar15 = *(undefined1 **)((int)puVar9 + 0x34)" identifier = (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((uVar6 & 0x10) == 0) goto LAB_0001c698;" if (parenthesized_expression "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001c698;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x1c;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x1c" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" if (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" ( (binary_expression "puVar15 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "piVar23 = (int *)((int)puVar9 + 0x54);" (assignment_expression "piVar23 = (int *)((int)puVar9 + 0x54)" identifier = (cast_expression "(int *)((int)puVar9 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x54)" ( (binary_expression "(int)puVar9 + 0x54" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);" do (compound_statement "{\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      }" { (expression_statement "*(undefined4 *)((int)piVar23 + uVar16) = 0;" (assignment_expression "*(undefined4 *)((int)piVar23 + uVar16) = 0" (pointer_expression "*(undefined4 *)((int)piVar23 + uVar16)" * (cast_expression "(undefined4 *)((int)piVar23 + uVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar23 + uVar16)" ( (binary_expression "(int)piVar23 + uVar16" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar16 = uVar16 + 4;" (assignment_expression "uVar16 = uVar16 + 4" identifier = (binary_expression "uVar16 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar16 < 0x18)" ( (binary_expression "uVar16 < 0x18" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x58) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x58) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x58)" ( (binary_expression "(int)puVar9 + 0x58" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x52)" * (cast_expression "(ushort *)((int)puVar9 + 0x52)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x52)" ( (binary_expression "(int)puVar9 + 0x52" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) (expression_statement "*(undefined2 *)((int)puVar9 + 0x50) = 10;" (assignment_expression "*(undefined2 *)((int)puVar9 + 0x50) = 10" (pointer_expression "*(undefined2 *)((int)puVar9 + 0x50)" * (cast_expression "(undefined2 *)((int)puVar9 + 0x50)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x50)" ( (binary_expression "(int)puVar9 + 0x50" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x5c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x5c) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x5c)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x5c)" ( (binary_expression "(int)puVar9 + 0x5c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x60) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x60) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x60)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x60)" ( (binary_expression "(int)puVar9 + 0x60" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);" (assignment_expression "*(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50)" (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x50)" ( (binary_expression "(int)puVar9 + 0x50" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 100) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 100) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 100)" * (cast_expression "(undefined4 *)((int)puVar9 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 100)" ( (binary_expression "(int)puVar9 + 100" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" else (compound_statement "{\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "*(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);" (assignment_expression "*(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810)" (pointer_expression "*(uint *)((int)puVar9 + 0x3c)" * (cast_expression "(uint *)((int)puVar9 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x3c)" ( (binary_expression "(int)puVar9 + 0x3c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (call_expression "(uint)((uVar6 & 0x810) != 0x810)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar6 & 0x810) != 0x810)" ( (binary_expression "(uVar6 & 0x810) != 0x810" (parenthesized_expression "(uVar6 & 0x810)" ( (binary_expression "uVar6 & 0x810" identifier & number_literal) )) != number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);" (assignment_expression "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c)" (pointer_expression "*(undefined1 **)((int)puVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x3c)" ( (binary_expression "(int)puVar9 + 0x3c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0x1a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0x1a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 0x29;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 0x29" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c114" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb75;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb75" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar15 = *(undefined1 **)((int)puVar9 + 0x34);" (assignment_expression "puVar15 = *(undefined1 **)((int)puVar9 + 0x34)" identifier = (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_0001c127;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c765;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c765" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc21f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c780" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" statement_identifier : (if_statement "if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" if (parenthesized_expression "(puVar11[0x34] != -1)" ( (binary_expression "puVar11[0x34] != -1" (subscript_expression "puVar11[0x34]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x34]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "close(*(int *)((int)puVar9 + -0x10));" (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x41]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x14)" ( (binary_expression "(int)puVar9 + 0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }" { (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19e2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19e2" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ccae;" goto statement_identifier ;) })) (if_statement "if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }" if (parenthesized_expression "(puVar11[0x36] != -1)" ( (binary_expression "puVar11[0x36] != -1" (subscript_expression "puVar11[0x36]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x36]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1bf62;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1bf62" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) goto LAB_0001c5fa;" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (goto_statement "goto LAB_0001c5fa;" goto statement_identifier ;)) })) })) (goto_statement "goto LAB_0001bf6b;" goto statement_identifier ;) (labeled_statement "LAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" statement_identifier : (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19f0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19f0" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c619" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);" do (compound_statement "{\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c630" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c638" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar17 = puVar9;" (assignment_expression "puVar17 = puVar9" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_0001cd49;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cd49;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10)" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c659" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c669;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c669" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1911;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1911" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c691" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar15 = (undefined1 *)(*pcVar3)();" (assignment_expression "puVar15 = (undefined1 *)(*pcVar3)()" identifier = (cast_expression "(undefined1 *)(*pcVar3)()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x10;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x10" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" if (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" ( (binary_expression "puVar15 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + 0x40);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + 0x40)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + 0x40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x40)" ( (binary_expression "(int)puVar9 + 0x40" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined2 *)((int)puVar9 + 0x40) = 2;" (assignment_expression "*(undefined2 *)((int)puVar9 + 0x40) = 2" (pointer_expression "*(undefined2 *)((int)puVar9 + 0x40)" * (cast_expression "(undefined2 *)((int)puVar9 + 0x40)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x40)" ( (binary_expression "(int)puVar9 + 0x40" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x44)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x44)" ( (binary_expression "(int)puVar9 + 0x44" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x48) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x48) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x48)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x48)" ( (binary_expression "(int)puVar9 + 0x48" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x4c) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x4c)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x4c)" ( (binary_expression "(int)puVar9 + 0x4c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x42)" * (cast_expression "(ushort *)((int)puVar9 + 0x42)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x42)" ( (binary_expression "(int)puVar9 + 0x42" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" identifier = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar9 + 0x34) = puVar15;" (assignment_expression "*(undefined1 **)((int)puVar9 + 0x34) = puVar15" (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" else (compound_statement "{\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" identifier = number_literal) ;) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (labeled_statement "LAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -8) = uVar18;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = uVar18" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined1 **)((int)puVar9 + -0xc) = puVar15;" (assignment_expression "*(undefined1 **)((int)puVar9 + -0xc) = puVar15" (pointer_expression "*(undefined1 **)((int)puVar9 + -0xc)" * (cast_expression "(undefined1 **)((int)puVar9 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c135" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));" (assignment_expression "iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" identifier = (call_expression "bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar9 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar9 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -8)" * (cast_expression "(socklen_t *)((int)puVar9 + -8)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c7c5" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -0x14) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -0x14) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -0x14)" * (cast_expression "(char **)((int)puVar9 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);" (assignment_expression "*(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc)" (pointer_expression "*(uint *)((int)puVar9 + -0x18)" * (cast_expression "(uint *)((int)puVar9 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)*(ushort *)((int)puVar9 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc24b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar7 == 0) || (*piVar23 != 9))" ( (binary_expression "(iVar7 == 0) || (*piVar23 != 9)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*piVar23 != 9)" ( (binary_expression "*piVar23 != 9" (pointer_expression "*piVar23" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x184d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x184d" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c824" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001c828;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 0x40)" ( (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 0x40" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" * (cast_expression "(byte *)((int)puVar11 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xf5)" ( (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }" { (if_statement "if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }" if (parenthesized_expression "(puVar11[0x4a] == 0)" ( (binary_expression "puVar11[0x4a] == 0" (subscript_expression "puVar11[0x4a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar11[0x4a] = 10;\n      }" { (expression_statement "puVar11[0x4a] = 10;" (assignment_expression "puVar11[0x4a] = 10" (subscript_expression "puVar11[0x4a]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x4a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0x17;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0x17" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 6;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 6" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c177" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb2f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x4b]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c194" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier = (call_expression "listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar7) goto LAB_0001bdf8;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_0001bdf8;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c1a4" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc26b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar14 = *(int **)((int)puVar9 + -0x10);" (assignment_expression "piVar14 = *(int **)((int)puVar9 + -0x10)" identifier = (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar7 == 0) || (*piVar23 != 9))" ( (binary_expression "(iVar7 == 0) || (*piVar23 != 9)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*piVar23 != 9)" ( (binary_expression "*piVar23 != 9" (pointer_expression "*piVar23" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x186b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x186b" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c200:\n    piVar23 = puVar11 + 0x2b;" statement_identifier : (expression_statement "piVar23 = puVar11 + 0x2b;" (assignment_expression "piVar23 = puVar11 + 0x2b" identifier = (binary_expression "puVar11 + 0x2b" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c211" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (if_statement "if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;" if (parenthesized_expression "((puVar11[0x3d] & 0x108) != 8)" ( (binary_expression "(puVar11[0x3d] & 0x108) != 8" (parenthesized_expression "(puVar11[0x3d] & 0x108)" ( (binary_expression "puVar11[0x3d] & 0x108" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)puVar11[0x22];" (assignment_expression "piVar14 = (int *)puVar11[0x22]" identifier = (cast_expression "(int *)puVar11[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }" { (expression_statement "iVar7 = iVar8 + 0xb306;" (assignment_expression "iVar7 = iVar8 + 0xb306" identifier = (binary_expression "iVar8 + 0xb306" identifier + number_literal)) ;) (if_statement "if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }" if (parenthesized_expression "((puVar11[0x3d] & 4) != 0)" ( (binary_expression "(puVar11[0x3d] & 4) != 0" (parenthesized_expression "(puVar11[0x3d] & 4)" ( (binary_expression "puVar11[0x3d] & 4" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar7 = iVar8 + 0xb2fb;\n    }" { (expression_statement "iVar7 = iVar8 + 0xb2fb;" (assignment_expression "iVar7 = iVar8 + 0xb2fb" identifier = (binary_expression "iVar8 + 0xb2fb" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar9 + -0x14)" * (cast_expression "(int *)((int)puVar9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + -0x8d9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x21]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar7;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar7" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x23" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c270" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001f380();" (assignment_expression "iVar7 = FUN_0001f380()" identifier = (call_expression "FUN_0001f380()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0001bf79;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c280;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c280" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar14;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar14" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc3c7" identifier + number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar20 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar22 = (undefined1 *)puVar9;" (assignment_expression "puVar22 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0001cd2a;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cd2a;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10)" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar7 == 0) || (*piVar14 != 9))" ( (binary_expression "(iVar7 == 0) || (*piVar14 != 9)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*piVar14 != 9)" ( (binary_expression "*piVar14 != 9" (pointer_expression "*piVar14" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x193e;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x193e" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c310" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar20 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar20 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));" (assignment_expression "iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" identifier = (call_expression "eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" identifier (argument_list "(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" ( (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar20 + -0xc)" * (cast_expression "(int *)((int)puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11[0x36] = iVar7;" (assignment_expression "puVar11[0x36] = iVar7" (subscript_expression "puVar11[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" { (expression_statement "*(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;" (assignment_expression "*(undefined4 *)((int)puVar20 + -4) = 0x1cbc5" (pointer_expression "*(undefined4 *)((int)puVar20 + -4)" * (cast_expression "(undefined4 *)((int)puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -4)" ( (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar20 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar20 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar20 + -0x10))" identifier (argument_list "(*(int *)((int)puVar20 + -0x10))" ( (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar21 = (undefined1 *)((int)puVar20 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar20 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar20 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -8)" ( (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar20 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar20 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar20 + -8)" * (cast_expression "(char **)((int)puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar20 + -8)" ( (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 0xc0c7;" (assignment_expression "iVar8 = iVar8 + 0xc0c7" identifier = (binary_expression "iVar8 + 0xc0c7" identifier + number_literal)) ;) (goto_statement "goto LAB_0001c3a9;" goto statement_identifier ;) })) (expression_statement "puVar9 = puVar20;" (assignment_expression "puVar9 = puVar20" identifier = identifier) ;) (if_statement "if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;" if (parenthesized_expression "(((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400))" ( (binary_expression "((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)" (parenthesized_expression "((puVar11[0x3d] & 0x240) != 0)" ( (binary_expression "(puVar11[0x3d] & 0x240) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" ( (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar7 < 0x400)" ( (binary_expression "iVar7 < 0x400" identifier < number_literal) ))) )) (goto_statement "goto LAB_0001bd6c;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;" (assignment_expression "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103" (pointer_expression "*(int *)((int)puVar20 + -0xc)" * (cast_expression "(int *)((int)puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc103" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar20 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar20 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36]" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x36]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c368" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar20 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar20 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar20 + -0x10))" identifier (argument_list "(*(int *)((int)puVar20 + -0x10))" ( (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }" { (expression_statement "*(undefined4 *)((int)puVar20 + -4) = 0x1c378;" (assignment_expression "*(undefined4 *)((int)puVar20 + -4) = 0x1c378" (pointer_expression "*(undefined4 *)((int)puVar20 + -4)" * (cast_expression "(undefined4 *)((int)puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -4)" ( (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }" { (expression_statement "*(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar20 + -4)" * (cast_expression "(int *)((int)puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -4)" ( (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -8) = 0x172d;" (assignment_expression "*(undefined4 *)((int)puVar20 + -8) = 0x172d" (pointer_expression "*(undefined4 *)((int)puVar20 + -8)" * (cast_expression "(undefined4 *)((int)puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -8)" ( (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar20 + -0xc)" * (cast_expression "(int *)((int)puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar20 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar20 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;" statement_identifier : (expression_statement "iVar8 = iVar8 + 0xc153;" (assignment_expression "iVar8 = iVar8 + 0xc153" identifier = (binary_expression "iVar8 + 0xc153" identifier + number_literal)) ;)) (expression_statement "puVar21 = (undefined1 *)((int)puVar9 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar9 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar8;" (assignment_expression "*(int *)(puVar21 + -4) = iVar8" (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) )))) = identifier) ;)) (expression_statement "*(undefined4 **)(puVar21 + -8) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -8) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -8)" * (cast_expression "(undefined4 **)(puVar21 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 0x1c3b0" (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 "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 **)(puVar21 + -8) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -8) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -8)" * (cast_expression "(undefined4 **)(puVar21 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 0x1c3ba" (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 "free(*(void **)(puVar21 + -8));" (call_expression "free(*(void **)(puVar21 + -8))" identifier (argument_list "(*(void **)(puVar21 + -8))" ( (pointer_expression "*(void **)(puVar21 + -8)" * (cast_expression "(void **)(puVar21 + -8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "puVar9 = (undefined4 *)(puVar21 + 8);" (assignment_expression "puVar9 = (undefined4 *)(puVar21 + 8)" identifier = (cast_expression "(undefined4 *)(puVar21 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 8)" ( (binary_expression "puVar21 + 8" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;" statement_identifier : (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) (labeled_statement "LAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)(puVar22 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar22 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x193b;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x193b" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar22 + -0xc)" * (cast_expression "(int *)(puVar22 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1ccec;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1ccec" (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 "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" statement_identifier : (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1977;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1977" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" else (compound_statement "{\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" { (labeled_statement "LAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];" statement_identifier : (expression_statement "piVar23 = (int *)puVar11[0x3a];" (assignment_expression "piVar23 = (int *)puVar11[0x3a]" identifier = (cast_expression "(int *)puVar11[0x3a]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x3a]" identifier [ number_literal ]))) ;)) (expression_statement "*(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)piVar14 * 0x130" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));" (assignment_expression "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10))" identifier = (call_expression "malloc(*(size_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar9 + -0x10)" * (cast_expression "(size_t *)((int)puVar9 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11[0x1d] = pvVar12;" (assignment_expression "puVar11[0x1d] = pvVar12" (subscript_expression "puVar11[0x1d]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }" if (parenthesized_expression "(pvVar12 != (void *)0x0)" ( (binary_expression "pvVar12 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;" (assignment_expression "*(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14" (pointer_expression "*(uint *)((int)puVar9 + 0x24)" * (cast_expression "(uint *)((int)puVar9 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x24)" ( (binary_expression "(int)puVar9 + 0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)piVar23 / (uint)piVar14" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;" (assignment_expression "*(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14" (pointer_expression "*(uint *)((int)puVar9 + 0x28)" * (cast_expression "(uint *)((int)puVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x28)" ( (binary_expression "(int)puVar9 + 0x28" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)piVar23 % (uint)piVar14" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;" (assignment_expression "*(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1" (pointer_expression "*(uint *)((int)puVar9 + 0x2c)" * (cast_expression "(uint *)((int)puVar9 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x2c)" ( (binary_expression "(int)puVar9 + 0x2c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)piVar23 / (uint)piVar14 + 1" (binary_expression "(uint)piVar23 / (uint)piVar14" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal)) ;) (while_statement "while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }" { (expression_statement "puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));" (assignment_expression "puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" identifier = (cast_expression "(undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" ( (binary_expression "(int)pvVar12 + *(int *)((int)puVar9 + 0x18)" (cast_expression "(int)pvVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;) (expression_statement "*puVar17 = *puVar11;" (assignment_expression "*puVar17 = *puVar11" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);" (assignment_expression "iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc)" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar17 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar17 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar17 + 1) & 0xfffffffc" (call_expression "(uint)(puVar17 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + 1)" ( (binary_expression "puVar17 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar17[0x4b] = puVar11[0x4b];" (assignment_expression "puVar17[0x4b] = puVar11[0x4b]" (subscript_expression "puVar17[0x4b]" identifier [ number_literal ]) = (subscript_expression "puVar11[0x4b]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = (int *)((int)puVar11 - iVar7);" (assignment_expression "piVar23 = (int *)((int)puVar11 - iVar7)" identifier = (cast_expression "(int *)((int)puVar11 - iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 - iVar7)" ( (binary_expression "(int)puVar11 - iVar7" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);" (assignment_expression "piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc)" identifier = (cast_expression "(int *)((uint)(puVar17 + 1) & 0xfffffffc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar17 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar17 + 1) & 0xfffffffc" (call_expression "(uint)(puVar17 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + 1)" ( (binary_expression "puVar17 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }" for ( (assignment_expression "uVar6 = iVar7 + 0x130U >> 2" identifier = (binary_expression "iVar7 + 0x130U >> 2" (binary_expression "iVar7 + 0x130U" identifier + number_literal) >> number_literal)) ; (binary_expression "uVar6 != 0" identifier != number_literal) ; (assignment_expression "uVar6 = uVar6 - 1" identifier = (binary_expression "uVar6 - 1" identifier - number_literal)) ) (compound_statement "{\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }" { (expression_statement "*piVar14 = *piVar23;" (assignment_expression "*piVar14 = *piVar23" (pointer_expression "*piVar14" * identifier) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "piVar23 = piVar23 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar23 = piVar23 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "piVar23 + (uint)bVar25 * -2 + 1" (binary_expression "piVar23 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "piVar14 = piVar14 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar14 = piVar14 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "piVar14 + (uint)bVar25 * -2 + 1" (binary_expression "piVar14 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puVar17[0x1c] = puVar11;" (assignment_expression "puVar17[0x1c] = puVar11" (subscript_expression "puVar17[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[0x22] = 0;" (assignment_expression "puVar17[0x22] = 0" (subscript_expression "puVar17[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[0x1d] = 0;" (assignment_expression "puVar17[0x1d] = 0" (subscript_expression "puVar17[0x1d]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 4) == 0)" ( (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 4) == 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 4)" ( (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 4" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" * (cast_expression "(byte *)((int)puVar11 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xf5)" ( (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          puVar17[0x36] = 0xffffffff;\n        }" { (expression_statement "puVar17[0x36] = 0xffffffff;" (assignment_expression "puVar17[0x36] = 0xffffffff" (subscript_expression "puVar17[0x36]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" else (compound_statement "{\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier = (call_expression "eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar17[0x36] = iVar7;" (assignment_expression "puVar17[0x36] = iVar7" (subscript_expression "puVar17[0x36]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cc67;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cc67" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc3eb" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;) })) (if_statement "if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" if (parenthesized_expression "(((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7))" ( (binary_expression "((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)" (parenthesized_expression "((puVar11[0x3d] & 0x240) == 0)" ( (binary_expression "(puVar11[0x3d] & 0x240) == 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" ( (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(0x3ff < iVar7)" ( (binary_expression "0x3ff < iVar7" number_literal < identifier) ))) )) (compound_statement "{\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0x18) = puVar17;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x18) = puVar17" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x18)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc42b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)((int)puVar9 + -0x10);" (assignment_expression "piVar23 = *(int **)((int)puVar9 + -0x10)" identifier = (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" * (cast_expression "(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)puVar9 + 0x18) + 0xd8)" ( (binary_expression "*(int *)((int)puVar9 + 0x18) + 0xd8" (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001ca07;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c9fe" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001ca07;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) (goto_statement "goto LAB_0001ccec;" goto statement_identifier ;) })) }))) (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x2c)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x2c)" ( (binary_expression "(int)puVar9 + 0x2c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }" if (parenthesized_expression "(*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20))" ( (binary_expression "*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)" (pointer_expression "*(uint *)((int)puVar9 + 0x28)" * (cast_expression "(uint *)((int)puVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x28)" ( (binary_expression "(int)puVar9 + 0x28" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) <= (pointer_expression "*(uint *)((int)puVar9 + 0x20)" * (cast_expression "(uint *)((int)puVar9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }" { (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x24)" ( (binary_expression "(int)puVar9 + 0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "puVar17[0x3a] = uVar18;" (assignment_expression "puVar17[0x3a] = uVar18" (subscript_expression "puVar17[0x3a]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 2) != 0)" ( (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 2) != 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 2)" ( (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 2" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" * (cast_expression "(byte *)((int)puVar11 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xf5)" ( (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c8ad" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_000177a0();" (assignment_expression "iVar7 = FUN_000177a0()" identifier = (call_expression "FUN_000177a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 != 1) goto LAB_0001ca07;" if (parenthesized_expression "(iVar7 != 1)" ( (binary_expression "iVar7 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) })) (expression_statement "piVar23 = puVar17 + 0x2b;" (assignment_expression "piVar23 = puVar17 + 0x2b" identifier = (binary_expression "puVar17 + 0x2b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 != 0) goto LAB_0001cc38;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cc38;" goto statement_identifier ;)) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar17;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar17" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar9 + -0x14)" * (cast_expression "(int *)((int)puVar9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + -0x8d9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x21]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb341" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar17 + 0x23" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c906" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001f380();" (assignment_expression "iVar7 = FUN_0001f380()" identifier = (call_expression "FUN_0001f380()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;" (assignment_expression "*(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar9 + 0x20)" * (cast_expression "(int *)((int)puVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)puVar9 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar9 + 0x20)" * (cast_expression "(int *)((int)puVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;" (assignment_expression "*(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)puVar9 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (if_statement "if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;" if (parenthesized_expression "((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20))" ( (binary_expression "(uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)" (cast_expression "(uint)puVar11[0x22]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ])) <= (pointer_expression "*(uint *)((int)puVar9 + 0x20)" * (cast_expression "(uint *)((int)puVar9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "pvVar12 = (void *)puVar11[0x1d];" (assignment_expression "pvVar12 = (void *)puVar11[0x1d]" identifier = (cast_expression "(void *)puVar11[0x1d]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x1d]" identifier [ number_literal ]))) ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cbe5" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc4b7" identifier + number_literal)) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }" { (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19a1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19a1" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = extraout_EDX;" (assignment_expression "puVar11 = extraout_EDX" identifier = identifier) ;) (labeled_statement "LAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;" statement_identifier : (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xc483;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xc483" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xc483" identifier + number_literal)) ;)) (expression_statement "*(undefined4 **)(puVar15 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)(puVar15 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)(puVar15 + -0x10)" * (cast_expression "(undefined4 **)(puVar15 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cc4a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)puVar15;" (assignment_expression "puVar9 = (undefined4 *)puVar15" identifier = (cast_expression "(undefined4 *)puVar15" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (labeled_statement "LAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" statement_identifier : (if_statement "if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x20) != 0)" ( (binary_expression "*(int *)((int)puVar9 + 0x20) != 0" (pointer_expression "*(int *)((int)puVar9 + 0x20)" * (cast_expression "(int *)((int)puVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" { (expression_statement "puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);" (assignment_expression "puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20)" (subscript_expression "puVar11[0x22]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_stop_daemon();" (call_expression "MHD_stop_daemon()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bfd0;" goto statement_identifier ;) }))) })) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }" { (labeled_statement "LAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" { (if_statement "if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }" if (parenthesized_expression "(puVar11[0x1d] != 0)" ( (binary_expression "puVar11[0x1d] != 0" (subscript_expression "puVar11[0x1d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x1d]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)(puVar15 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar15 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x19ba;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x19ba" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cccd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cccd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cccd;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001ca3b;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001ca3b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1ca32;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1ca32" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001ca3b;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001ca3b;" goto statement_identifier ;)) }))) (expression_statement "*(int *)(puVar15 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)(puVar15 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x19b9;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x19b9" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)(puVar15 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)(puVar15 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cd2a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x193c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x193c" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar17 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "puVar17[-1] = iVar8 + 0xb2e1;" (assignment_expression "puVar17[-1] = iVar8 + 0xb2e1" (subscript_expression "puVar17[-1]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "puVar17[-2] = 0x190e;" (assignment_expression "puVar17[-2] = 0x190e" (subscript_expression "puVar17[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-3] = iVar8 + 0xb1ff;" (assignment_expression "puVar17[-3] = iVar8 + 0xb1ff" (subscript_expression "puVar17[-3]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8)" (subscript_expression "puVar17[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "puVar17[-5] = 0x1cd68;" (assignment_expression "puVar17[-5] = 0x1cd68" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar17[-5] = &UNK_000144c7 + iVar8;" (assignment_expression "puVar17[-5] = &UNK_000144c7 + iVar8" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = (binary_expression "&UNK_000144c7 + iVar8" (pointer_expression "&UNK_000144c7" & identifier) + identifier)) ;) (expression_statement "puVar17[-6] = 0x1cd76;" (assignment_expression "puVar17[-6] = 0x1cd76" (subscript_expression "puVar17[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-9] = puVar17 + 3;" (assignment_expression "puVar17[-9] = puVar17 + 3" (subscript_expression "puVar17[-9]" identifier [ number_literal ]) = (binary_expression "puVar17 + 3" identifier + number_literal)) ;) (expression_statement "puVar17[-10] = puVar17[2];" (assignment_expression "puVar17[-10] = puVar17[2]" (subscript_expression "puVar17[-10]" identifier [ number_literal ]) = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xb] = puVar17[1];" (assignment_expression "puVar17[-0xb] = puVar17[1]" (subscript_expression "puVar17[-0xb]" identifier [ number_literal ]) = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xc] = *puVar17;" (assignment_expression "puVar17[-0xc] = *puVar17" (subscript_expression "puVar17[-0xc]" identifier [ number_literal ]) = (pointer_expression "*puVar17" * identifier)) ;) (expression_statement "puVar17[-0xd] = puVar17[-1];" (assignment_expression "puVar17[-0xd] = puVar17[-1]" (subscript_expression "puVar17[-0xd]" identifier [ number_literal ]) = (subscript_expression "puVar17[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);" (assignment_expression "puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2)" (subscript_expression "puVar17[-0xe]" identifier [ number_literal ]) = (binary_expression "(uint)*(ushort *)(puVar17 + -2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar17 + -2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -2)" ( (binary_expression "puVar17 + -2" identifier + number_literal) ))))) ;) (expression_statement "puVar17[-0xf] = puVar17[-3];" (assignment_expression "puVar17[-0xf] = puVar17[-3]" (subscript_expression "puVar17[-0xf]" identifier [ number_literal ]) = (subscript_expression "puVar17[-3]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x10] = 0x1cda6;" (assignment_expression "puVar17[-0x10] = 0x1cda6" (subscript_expression "puVar17[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17 = (undefined4 *)MHD_start_daemon_va();" (assignment_expression "puVar17 = (undefined4 *)MHD_start_daemon_va()" identifier = (cast_expression "(undefined4 *)MHD_start_daemon_va()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "MHD_start_daemon_va()" identifier (argument_list "()" ( ))))) ;) (return_statement "return puVar17;" return identifier ;) }))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Switch with 1 destination removed at 0x00012240 */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */\n\nvoid MHD_stop_daemon(MHD_Daemon *daemon)\n\n{\n  uint16_t uVar1;\n  short sVar2;\n  void *pvVar3;\n  code *pcVar4;\n  ssize_t sVar5;\n  int *piVar6;\n  uint uVar7;\n  int iVar8;\n  uint64_t *puVar9;\n  MHD_Daemon *pMVar10;\n  MHD_Result MVar11;\n  MHD_NonceNc *pMVar12;\n  int iVar13;\n  MHD_FLAG MVar14;\n  MHD_socket MVar15;\n  char *pcVar16;\n  MHD_AccessHandlerCallback p_Var17;\n  undefined1 *puVar18;\n  MHD_Daemon *pMVar19;\n  va_list ap;\n  undefined4 extraout_ECX;\n  undefined4 uVar20;\n  MHD_Daemon *extraout_EDX;\n  undefined1 *puVar21;\n  undefined4 *puVar22;\n  undefined4 *puVar23;\n  undefined1 *puVar24;\n  undefined4 *puVar25;\n  undefined1 *puVar26;\n  undefined4 *puVar27;\n  uint unaff_EBP;\n  MHD_mutex_ *pMVar28;\n  MHD_mutex_ *pMVar29;\n  uint64_t *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar30;\n  byte bVar31;\n  undefined1 auStack_2c [12];\n  uint64_t *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar31 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar26 = auStack_2c;\n  puVar18 = auStack_2c;\n  puVar27 = (undefined4 *)auStack_2c;\n  puVar21 = auStack_2c;\n  if (daemon == (MHD_Daemon *)0x0) {\n    return;\n  }\n  daemon->shutdown = true;\n  pMVar10 = daemon->worker_pool;\n  if (daemon->was_quiesced == false) {\n    unaff_EDI = (uint64_t *)daemon->listen_fd;\n    puStack_20 = unaff_EDI;\n    puVar18 = auStack_2c;\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\n    }\n    if (daemon->worker_pool_size == 0) {\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    pMVar10 = daemon->worker_pool;\n    if (uVar7 != 0) {\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }\n    *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar27 + -0x10));\nLAB_0001b81d:\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\n    if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar27 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar27 + -4) = 0x1b842;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar27 + -8) = 0x1b19;\n    *(char **)((int)puVar27 + -0xc) = "daemon.c";\n    puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n    *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;\n    (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\nLAB_0001bad2:\n    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1af7;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar26 = puVar18 + -0x10;\n    *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1baf1;\n    (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4));\nLAB_0001baf1:\n    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0x1b2f;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = (undefined4 *)(puVar26 + -0x10);\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1bb10;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = daemon->worker_pool_size;\n    puStack_20 = (uint64_t *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(pMVar10);\n    puVar27 = (undefined4 *)auStack_2c;\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\nLAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar27 + -0x10));\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    puVar26 = (undefined1 *)puVar27;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }\n  }\n  puVar27[-1] = "Failed to destroy mutex.\n";\n  puVar27[-2] = 0x1b33;\n  puVar27[-3] = "daemon.c";\n  puVar27[-4] = mhd_panic_cls;\n  puVar27[-5] = 0x1bb2f;\n  (*mhd_panic)((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1]);\n  puVar27[-5] = unaff_EBP;\n  puVar27[-6] = unaff_EDI;\n  puVar27[-7] = daemon;\n  puVar27[-8] = 0x30000;\n  puVar27[-9] = 0x1bb39;\n  iVar8 = puVar27[-9];\n  pMVar28 = (MHD_mutex_ *)puVar27[-3];\n  p_Var17 = (MHD_AccessHandlerCallback)puVar27[1];\n  puVar27[-0x3b] = 1;\n  puVar27[-0x44] = puVar27[-2];\n  puVar27[-0x3a] = 0;\n  puVar27[-0x43] = puVar27[-1];\n  puVar27[-0x42] = puVar27[2];\n  puVar27[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar27[-0x3f] = (uint)pMVar28 & 2;\n  puVar25 = puVar27 + -0x47;\n  if (((uint)pMVar28 & 2) != 0) goto LAB_0001bf79;\n  if (((uint)pMVar28 & 0x8000) != 0) {\n    pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);\n  }\n  puVar25 = puVar27 + -0x47;\n  if (((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||\n     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))) goto LAB_0001bf79;\n  pMVar29 = pMVar28;\n  if (((uint)pMVar28 & 0x10000) != 0) {\n    puVar25 = puVar27 + -0x47;\n    if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);\n    if (((uint)pMVar28 & 4) == 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }\n  }\n  puVar27[-0x40] = puVar27[3];\n  puVar27[-0x41] = *puVar27;\n  puVar27[-0x4a] = 0x130;\n  puVar27[-0x4b] = 1;\n  puVar27[-0x4c] = 0x1bc1d;\n  pMVar10 = (MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a]);\n  puVar25 = puVar27 + -0x47;\n  if (pMVar10 == (MHD_Daemon *)0x0) goto LAB_0001bf79;\n  pMVar10->epoll_fd = -1;\n  pMVar10->listen_fd = -1;\n  pMVar10->listening_address_reuse = 0;\n  pMVar10->options = (MHD_FLAG)pMVar29;\n  pvVar3 = (void *)puVar27[-0x41];\n  pMVar10->default_handler = p_Var17;\n  pMVar10->connections = 0;\n  pMVar10->connection_limit = 0x3fc;\n  pMVar10->strict_for_client = (uint)pMVar29 >> 5 & 1;\n  uVar1 = *(uint16_t *)(puVar27 + -0x44);\n  pMVar10->apc_cls = pvVar3;\n  pMVar10->pool_size = 0x8000;\n  pMVar10->pool_increment = 0x400;\n  pMVar10->connection_timeout = 0;\n  (pMVar10->itc).fd = -1;\n  pMVar10->listen_backlog_size = 0x80;\n  pMVar10->port = uVar1;\n  ap = (va_list)puVar27[-0x40];\n  pMVar10->apc = (MHD_AcceptPolicyCallback)puVar27[-0x43];\n  pMVar10->default_handler_cls = (void *)puVar27[-0x42];\n  pMVar10->unescape_callback = (UnescapeCallback)(iVar8 + -0x43b9);\n  pMVar10->custom_error_log = (MHD_LogCallback)(iVar8 + -0x43e9);\n  pMVar10->custom_error_log_cls = (void *)**(undefined4 **)(iVar8 + 0x14497);\n  if (((uint)pMVar29 & 0xc) == 4) {\n    puVar27[-0x43] = ap;\n    puVar27[-0x4a] = iVar8 + 0xbff7;\n    puVar27[-0x4b] = pMVar10;\n    puVar27[-0x4c] = 0x1bebc;\n    MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);\n    ap = (va_list)puVar27[-0x43];\n    pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);\n    pMVar10->options = (MHD_FLAG)pMVar29;\nLAB_0001bed2:\n    if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }\n  }\n  else {\n    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);\n    pMVar10->options = (MHD_FLAG)pMVar29;\n  }\n  puVar23 = puVar27 + -0x47;\n  puVar25 = puVar27 + -0x47;\n  pMVar10->digest_auth_rand_size = 0;\n  pMVar10->digest_auth_random = (char *)0x0;\n  pMVar10->nonce_nc_size = 4;\n  puVar27[-0x48] = 0x1bd33;\n  MVar11 = parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap);\n  puVar22 = puVar27 + -0x47;\n  if (MVar11 == MHD_YES) {\n    MVar14 = pMVar10->options;\n    if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }\n    else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }\n    puVar25 = puVar27 + -0x47;\n    if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n    uVar7 = pMVar10->nonce_nc_size;\n    if (uVar7 != 0) {\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }\n    *(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) {\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;\n    free(*(void **)((int)puVar25 + -0x10));\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;\n    free(*(void **)((int)puVar25 + -0x10));\n    goto LAB_0001bf79;\n  }\nLAB_0001bf6b:\n  *(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10;\n  *(undefined4 *)((int)puVar22 + -0x14) = 0x1bf76;\n  free(*(void **)((int)puVar22 + -0x10));\n  puVar25 = puVar22;\nLAB_0001bf79:\n  if (*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -4) = 0x1cc8f;\n  __stack_chk_fail_local();\n  while( true ) {\n    *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c04a;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1904;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;\n    MVar14 = (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c078:\n    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;\nLAB_0001be45:\n    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar25 + -0x10) =\n       (-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c098;\n  MVar15 = MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10));\n  *(MHD_socket *)((int)puVar25 + 0x10) = MVar15;\n  if (MVar15 != -1) {\n    if (pMVar10->listening_address_reuse == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }\n    MVar14 = pMVar10->options;\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x1c;\n    if (puVar18 == (undefined1 *)0x0) {\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    *(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n    *(undefined4 *)((int)puVar25 + -0x10) = 4;\n    *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);\n    *(undefined4 *)((int)puVar25 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar25 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;\n    iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }\n    uVar20 = *(undefined4 *)((int)puVar25 + 0x38);\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar25 + -4) = 0x1c765;\n  piVar6 = __errno_location();\n  *(int *)((int)puVar25 + -0x10) = *piVar6;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c76f;\n  pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n  *(char **)((int)puVar25 + -8) = pcVar16;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc21f;\n  *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c780;\n  MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\nLAB_0001bf08:\n  if (pMVar10->epoll_fd != -1) {\n    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar25 + -0x10));\n  }\n  *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar25 + -0x10));\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x14);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf37;\n  iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n  if (iVar13 != 0) {\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar25 + -8) = 0x19e2;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;\n    (*pcVar4)();\n    goto LAB_0001ccae;\n  }\n  iVar13 = (pMVar10->itc).fd;\n  puVar22 = puVar25;\n  if (iVar13 != -1) {\n    *(int *)((int)puVar25 + -0x10) = iVar13;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 != 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar25 + -8) = 0x19f0;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c619;\n  (*pcVar4)();\n  puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n  do {\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar27 = puVar25;\n    if (iVar13 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c669;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1911;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;\n    puVar18 = (undefined1 *)(*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;\n    if (puVar18 == (undefined1 *)0x0) {\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar25 + -8) = uVar20;\n    *(undefined1 **)((int)puVar25 + -0xc) = puVar18;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;\n    iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8));\n    if (iVar13 == -1) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    *(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;\n    iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n    if (-1 < iVar13) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;\n    pMVar29 = (MHD_mutex_ *)__errno_location();\n    *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x186b;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;\n    (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c200:\n    pMVar29 = &pMVar10->cleanup_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n  } while (iVar13 != 0);\n  if ((pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n      MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001bf79;\n  p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size;\n  if (p_Var17 == (MHD_AccessHandlerCallback)0x0) {\n    iVar13 = iVar8 + 0xb306;\n    if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n      iVar13 = iVar8 + 0xb2fb;\n    }\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n    *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n    *(int *)((int)puVar25 + -0x1c) = iVar13;\n    *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;\n    iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10));\n    if (iVar13 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c280;\n    p_Var17 = (MHD_AccessHandlerCallback)__errno_location();\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;\n    puVar23 = (undefined4 *)((int)puVar25 + -0x10);\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar26 = (undefined1 *)puVar25;\n    if (iVar13 == 0) {\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }\nLAB_0001cccd:\n    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar26 + -8) = 0x193b;\n    *(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;\n    puVar25 = (undefined4 *)(puVar26 + -0x10);\n    *(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)(puVar26 + -0x14) = 0x1ccec;\n    (*pcVar4)();\nLAB_0001ccec:\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1977;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;\n    (*pcVar4)();\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;\n    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;\n    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));\n    pMVar10->worker_pool = pMVar19;\n    if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }\n    if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;\n    piVar6 = __errno_location();\n    puVar18 = (undefined1 *)puVar25;\n    if (*piVar6 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar18 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar18 + -8) = 0x19b9;\n  *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n  puVar25 = (undefined4 *)(puVar18 + -0x10);\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)(puVar18 + -0x14) = 0x1cd2a;\n  (*pcVar4)();\nLAB_0001cd2a:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar25 + -8) = 0x193c;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n  puVar27 = (undefined4 *)((int)puVar25 + -0x10);\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd49;\n  (*pcVar4)();\nLAB_0001cd49:\n  puVar27[-1] = iVar8 + 0xb2e1;\n  puVar27[-2] = 0x190e;\n  puVar27[-3] = iVar8 + 0xb1ff;\n  puVar27[-4] = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  puVar27[-5] = 0x1cd68;\n  (*pcVar4)();\n  puVar27[-5] = iVar8 + 0x144c7;\n  puVar27[-6] = 0x1cd76;\n  puVar27[-9] = puVar27 + 3;\n  puVar27[-10] = puVar27[2];\n  puVar27[-0xb] = puVar27[1];\n  puVar27[-0xc] = *puVar27;\n  puVar27[-0xd] = puVar27[-1];\n  puVar27[-0xe] = (uint)*(ushort *)(puVar27 + -2);\n  puVar27[-0xf] = puVar27[-3];\n  puVar27[-0x10] = 0x1cda6;\n  MHD_start_daemon_va(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),\n                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],\n                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],\n                      (va_list)puVar27[-9]);\n  return;\n}\n\n" comment comment comment comment (function_definition "void MHD_stop_daemon(MHD_Daemon *daemon)\n\n{\n  uint16_t uVar1;\n  short sVar2;\n  void *pvVar3;\n  code *pcVar4;\n  ssize_t sVar5;\n  int *piVar6;\n  uint uVar7;\n  int iVar8;\n  uint64_t *puVar9;\n  MHD_Daemon *pMVar10;\n  MHD_Result MVar11;\n  MHD_NonceNc *pMVar12;\n  int iVar13;\n  MHD_FLAG MVar14;\n  MHD_socket MVar15;\n  char *pcVar16;\n  MHD_AccessHandlerCallback p_Var17;\n  undefined1 *puVar18;\n  MHD_Daemon *pMVar19;\n  va_list ap;\n  undefined4 extraout_ECX;\n  undefined4 uVar20;\n  MHD_Daemon *extraout_EDX;\n  undefined1 *puVar21;\n  undefined4 *puVar22;\n  undefined4 *puVar23;\n  undefined1 *puVar24;\n  undefined4 *puVar25;\n  undefined1 *puVar26;\n  undefined4 *puVar27;\n  uint unaff_EBP;\n  MHD_mutex_ *pMVar28;\n  MHD_mutex_ *pMVar29;\n  uint64_t *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar30;\n  byte bVar31;\n  undefined1 auStack_2c [12];\n  uint64_t *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar31 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar26 = auStack_2c;\n  puVar18 = auStack_2c;\n  puVar27 = (undefined4 *)auStack_2c;\n  puVar21 = auStack_2c;\n  if (daemon == (MHD_Daemon *)0x0) {\n    return;\n  }\n  daemon->shutdown = true;\n  pMVar10 = daemon->worker_pool;\n  if (daemon->was_quiesced == false) {\n    unaff_EDI = (uint64_t *)daemon->listen_fd;\n    puStack_20 = unaff_EDI;\n    puVar18 = auStack_2c;\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\n    }\n    if (daemon->worker_pool_size == 0) {\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    pMVar10 = daemon->worker_pool;\n    if (uVar7 != 0) {\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }\n    *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar27 + -0x10));\nLAB_0001b81d:\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\n    if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar27 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar27 + -4) = 0x1b842;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar27 + -8) = 0x1b19;\n    *(char **)((int)puVar27 + -0xc) = "daemon.c";\n    puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n    *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;\n    (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\nLAB_0001bad2:\n    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1af7;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar26 = puVar18 + -0x10;\n    *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1baf1;\n    (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4));\nLAB_0001baf1:\n    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0x1b2f;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = (undefined4 *)(puVar26 + -0x10);\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1bb10;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = daemon->worker_pool_size;\n    puStack_20 = (uint64_t *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(pMVar10);\n    puVar27 = (undefined4 *)auStack_2c;\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\nLAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar27 + -0x10));\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    puVar26 = (undefined1 *)puVar27;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }\n  }\n  puVar27[-1] = "Failed to destroy mutex.\n";\n  puVar27[-2] = 0x1b33;\n  puVar27[-3] = "daemon.c";\n  puVar27[-4] = mhd_panic_cls;\n  puVar27[-5] = 0x1bb2f;\n  (*mhd_panic)((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1]);\n  puVar27[-5] = unaff_EBP;\n  puVar27[-6] = unaff_EDI;\n  puVar27[-7] = daemon;\n  puVar27[-8] = 0x30000;\n  puVar27[-9] = 0x1bb39;\n  iVar8 = puVar27[-9];\n  pMVar28 = (MHD_mutex_ *)puVar27[-3];\n  p_Var17 = (MHD_AccessHandlerCallback)puVar27[1];\n  puVar27[-0x3b] = 1;\n  puVar27[-0x44] = puVar27[-2];\n  puVar27[-0x3a] = 0;\n  puVar27[-0x43] = puVar27[-1];\n  puVar27[-0x42] = puVar27[2];\n  puVar27[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar27[-0x3f] = (uint)pMVar28 & 2;\n  puVar25 = puVar27 + -0x47;\n  if (((uint)pMVar28 & 2) != 0) goto LAB_0001bf79;\n  if (((uint)pMVar28 & 0x8000) != 0) {\n    pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);\n  }\n  puVar25 = puVar27 + -0x47;\n  if (((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||\n     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))) goto LAB_0001bf79;\n  pMVar29 = pMVar28;\n  if (((uint)pMVar28 & 0x10000) != 0) {\n    puVar25 = puVar27 + -0x47;\n    if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);\n    if (((uint)pMVar28 & 4) == 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }\n  }\n  puVar27[-0x40] = puVar27[3];\n  puVar27[-0x41] = *puVar27;\n  puVar27[-0x4a] = 0x130;\n  puVar27[-0x4b] = 1;\n  puVar27[-0x4c] = 0x1bc1d;\n  pMVar10 = (MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a]);\n  puVar25 = puVar27 + -0x47;\n  if (pMVar10 == (MHD_Daemon *)0x0) goto LAB_0001bf79;\n  pMVar10->epoll_fd = -1;\n  pMVar10->listen_fd = -1;\n  pMVar10->listening_address_reuse = 0;\n  pMVar10->options = (MHD_FLAG)pMVar29;\n  pvVar3 = (void *)puVar27[-0x41];\n  pMVar10->default_handler = p_Var17;\n  pMVar10->connections = 0;\n  pMVar10->connection_limit = 0x3fc;\n  pMVar10->strict_for_client = (uint)pMVar29 >> 5 & 1;\n  uVar1 = *(uint16_t *)(puVar27 + -0x44);\n  pMVar10->apc_cls = pvVar3;\n  pMVar10->pool_size = 0x8000;\n  pMVar10->pool_increment = 0x400;\n  pMVar10->connection_timeout = 0;\n  (pMVar10->itc).fd = -1;\n  pMVar10->listen_backlog_size = 0x80;\n  pMVar10->port = uVar1;\n  ap = (va_list)puVar27[-0x40];\n  pMVar10->apc = (MHD_AcceptPolicyCallback)puVar27[-0x43];\n  pMVar10->default_handler_cls = (void *)puVar27[-0x42];\n  pMVar10->unescape_callback = (UnescapeCallback)(iVar8 + -0x43b9);\n  pMVar10->custom_error_log = (MHD_LogCallback)(iVar8 + -0x43e9);\n  pMVar10->custom_error_log_cls = (void *)**(undefined4 **)(iVar8 + 0x14497);\n  if (((uint)pMVar29 & 0xc) == 4) {\n    puVar27[-0x43] = ap;\n    puVar27[-0x4a] = iVar8 + 0xbff7;\n    puVar27[-0x4b] = pMVar10;\n    puVar27[-0x4c] = 0x1bebc;\n    MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);\n    ap = (va_list)puVar27[-0x43];\n    pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);\n    pMVar10->options = (MHD_FLAG)pMVar29;\nLAB_0001bed2:\n    if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }\n  }\n  else {\n    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);\n    pMVar10->options = (MHD_FLAG)pMVar29;\n  }\n  puVar23 = puVar27 + -0x47;\n  puVar25 = puVar27 + -0x47;\n  pMVar10->digest_auth_rand_size = 0;\n  pMVar10->digest_auth_random = (char *)0x0;\n  pMVar10->nonce_nc_size = 4;\n  puVar27[-0x48] = 0x1bd33;\n  MVar11 = parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap);\n  puVar22 = puVar27 + -0x47;\n  if (MVar11 == MHD_YES) {\n    MVar14 = pMVar10->options;\n    if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }\n    else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }\n    puVar25 = puVar27 + -0x47;\n    if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n    uVar7 = pMVar10->nonce_nc_size;\n    if (uVar7 != 0) {\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }\n    *(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) {\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;\n    free(*(void **)((int)puVar25 + -0x10));\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;\n    free(*(void **)((int)puVar25 + -0x10));\n    goto LAB_0001bf79;\n  }\nLAB_0001bf6b:\n  *(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10;\n  *(undefined4 *)((int)puVar22 + -0x14) = 0x1bf76;\n  free(*(void **)((int)puVar22 + -0x10));\n  puVar25 = puVar22;\nLAB_0001bf79:\n  if (*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -4) = 0x1cc8f;\n  __stack_chk_fail_local();\n  while( true ) {\n    *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c04a;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1904;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;\n    MVar14 = (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c078:\n    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;\nLAB_0001be45:\n    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar25 + -0x10) =\n       (-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c098;\n  MVar15 = MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10));\n  *(MHD_socket *)((int)puVar25 + 0x10) = MVar15;\n  if (MVar15 != -1) {\n    if (pMVar10->listening_address_reuse == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }\n    MVar14 = pMVar10->options;\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x1c;\n    if (puVar18 == (undefined1 *)0x0) {\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    *(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n    *(undefined4 *)((int)puVar25 + -0x10) = 4;\n    *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);\n    *(undefined4 *)((int)puVar25 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar25 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;\n    iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }\n    uVar20 = *(undefined4 *)((int)puVar25 + 0x38);\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar25 + -4) = 0x1c765;\n  piVar6 = __errno_location();\n  *(int *)((int)puVar25 + -0x10) = *piVar6;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c76f;\n  pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n  *(char **)((int)puVar25 + -8) = pcVar16;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc21f;\n  *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c780;\n  MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\nLAB_0001bf08:\n  if (pMVar10->epoll_fd != -1) {\n    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar25 + -0x10));\n  }\n  *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar25 + -0x10));\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x14);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf37;\n  iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n  if (iVar13 != 0) {\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar25 + -8) = 0x19e2;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;\n    (*pcVar4)();\n    goto LAB_0001ccae;\n  }\n  iVar13 = (pMVar10->itc).fd;\n  puVar22 = puVar25;\n  if (iVar13 != -1) {\n    *(int *)((int)puVar25 + -0x10) = iVar13;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 != 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar25 + -8) = 0x19f0;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c619;\n  (*pcVar4)();\n  puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n  do {\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar27 = puVar25;\n    if (iVar13 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c669;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1911;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;\n    puVar18 = (undefined1 *)(*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;\n    if (puVar18 == (undefined1 *)0x0) {\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar25 + -8) = uVar20;\n    *(undefined1 **)((int)puVar25 + -0xc) = puVar18;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;\n    iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8));\n    if (iVar13 == -1) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    *(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;\n    iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n    if (-1 < iVar13) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;\n    pMVar29 = (MHD_mutex_ *)__errno_location();\n    *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x186b;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;\n    (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c200:\n    pMVar29 = &pMVar10->cleanup_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n  } while (iVar13 != 0);\n  if ((pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n      MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001bf79;\n  p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size;\n  if (p_Var17 == (MHD_AccessHandlerCallback)0x0) {\n    iVar13 = iVar8 + 0xb306;\n    if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n      iVar13 = iVar8 + 0xb2fb;\n    }\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n    *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n    *(int *)((int)puVar25 + -0x1c) = iVar13;\n    *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;\n    iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10));\n    if (iVar13 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c280;\n    p_Var17 = (MHD_AccessHandlerCallback)__errno_location();\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;\n    puVar23 = (undefined4 *)((int)puVar25 + -0x10);\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar26 = (undefined1 *)puVar25;\n    if (iVar13 == 0) {\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }\nLAB_0001cccd:\n    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar26 + -8) = 0x193b;\n    *(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;\n    puVar25 = (undefined4 *)(puVar26 + -0x10);\n    *(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)(puVar26 + -0x14) = 0x1ccec;\n    (*pcVar4)();\nLAB_0001ccec:\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1977;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;\n    (*pcVar4)();\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;\n    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;\n    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));\n    pMVar10->worker_pool = pMVar19;\n    if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }\n    if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;\n    piVar6 = __errno_location();\n    puVar18 = (undefined1 *)puVar25;\n    if (*piVar6 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar18 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar18 + -8) = 0x19b9;\n  *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n  puVar25 = (undefined4 *)(puVar18 + -0x10);\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)(puVar18 + -0x14) = 0x1cd2a;\n  (*pcVar4)();\nLAB_0001cd2a:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar25 + -8) = 0x193c;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n  puVar27 = (undefined4 *)((int)puVar25 + -0x10);\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd49;\n  (*pcVar4)();\nLAB_0001cd49:\n  puVar27[-1] = iVar8 + 0xb2e1;\n  puVar27[-2] = 0x190e;\n  puVar27[-3] = iVar8 + 0xb1ff;\n  puVar27[-4] = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  puVar27[-5] = 0x1cd68;\n  (*pcVar4)();\n  puVar27[-5] = iVar8 + 0x144c7;\n  puVar27[-6] = 0x1cd76;\n  puVar27[-9] = puVar27 + 3;\n  puVar27[-10] = puVar27[2];\n  puVar27[-0xb] = puVar27[1];\n  puVar27[-0xc] = *puVar27;\n  puVar27[-0xd] = puVar27[-1];\n  puVar27[-0xe] = (uint)*(ushort *)(puVar27 + -2);\n  puVar27[-0xf] = puVar27[-3];\n  puVar27[-0x10] = 0x1cda6;\n  MHD_start_daemon_va(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),\n                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],\n                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],\n                      (va_list)puVar27[-9]);\n  return;\n}" primitive_type (function_declarator "MHD_stop_daemon(MHD_Daemon *daemon)" identifier (parameter_list "(MHD_Daemon *daemon)" ( (parameter_declaration "MHD_Daemon *daemon" type_identifier (pointer_declarator "*daemon" * identifier)) ))) (compound_statement "{\n  uint16_t uVar1;\n  short sVar2;\n  void *pvVar3;\n  code *pcVar4;\n  ssize_t sVar5;\n  int *piVar6;\n  uint uVar7;\n  int iVar8;\n  uint64_t *puVar9;\n  MHD_Daemon *pMVar10;\n  MHD_Result MVar11;\n  MHD_NonceNc *pMVar12;\n  int iVar13;\n  MHD_FLAG MVar14;\n  MHD_socket MVar15;\n  char *pcVar16;\n  MHD_AccessHandlerCallback p_Var17;\n  undefined1 *puVar18;\n  MHD_Daemon *pMVar19;\n  va_list ap;\n  undefined4 extraout_ECX;\n  undefined4 uVar20;\n  MHD_Daemon *extraout_EDX;\n  undefined1 *puVar21;\n  undefined4 *puVar22;\n  undefined4 *puVar23;\n  undefined1 *puVar24;\n  undefined4 *puVar25;\n  undefined1 *puVar26;\n  undefined4 *puVar27;\n  uint unaff_EBP;\n  MHD_mutex_ *pMVar28;\n  MHD_mutex_ *pMVar29;\n  uint64_t *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar30;\n  byte bVar31;\n  undefined1 auStack_2c [12];\n  uint64_t *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar31 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar26 = auStack_2c;\n  puVar18 = auStack_2c;\n  puVar27 = (undefined4 *)auStack_2c;\n  puVar21 = auStack_2c;\n  if (daemon == (MHD_Daemon *)0x0) {\n    return;\n  }\n  daemon->shutdown = true;\n  pMVar10 = daemon->worker_pool;\n  if (daemon->was_quiesced == false) {\n    unaff_EDI = (uint64_t *)daemon->listen_fd;\n    puStack_20 = unaff_EDI;\n    puVar18 = auStack_2c;\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\n    }\n    if (daemon->worker_pool_size == 0) {\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    pMVar10 = daemon->worker_pool;\n    if (uVar7 != 0) {\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }\n    *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar27 + -0x10));\nLAB_0001b81d:\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\n    if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar27 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar27 + -4) = 0x1b842;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar27 + -8) = 0x1b19;\n    *(char **)((int)puVar27 + -0xc) = "daemon.c";\n    puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n    *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;\n    (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\nLAB_0001bad2:\n    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1af7;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar26 = puVar18 + -0x10;\n    *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1baf1;\n    (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4));\nLAB_0001baf1:\n    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0x1b2f;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = (undefined4 *)(puVar26 + -0x10);\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1bb10;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = daemon->worker_pool_size;\n    puStack_20 = (uint64_t *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(pMVar10);\n    puVar27 = (undefined4 *)auStack_2c;\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\nLAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar27 + -0x10));\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    puVar26 = (undefined1 *)puVar27;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }\n  }\n  puVar27[-1] = "Failed to destroy mutex.\n";\n  puVar27[-2] = 0x1b33;\n  puVar27[-3] = "daemon.c";\n  puVar27[-4] = mhd_panic_cls;\n  puVar27[-5] = 0x1bb2f;\n  (*mhd_panic)((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1]);\n  puVar27[-5] = unaff_EBP;\n  puVar27[-6] = unaff_EDI;\n  puVar27[-7] = daemon;\n  puVar27[-8] = 0x30000;\n  puVar27[-9] = 0x1bb39;\n  iVar8 = puVar27[-9];\n  pMVar28 = (MHD_mutex_ *)puVar27[-3];\n  p_Var17 = (MHD_AccessHandlerCallback)puVar27[1];\n  puVar27[-0x3b] = 1;\n  puVar27[-0x44] = puVar27[-2];\n  puVar27[-0x3a] = 0;\n  puVar27[-0x43] = puVar27[-1];\n  puVar27[-0x42] = puVar27[2];\n  puVar27[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar27[-0x3f] = (uint)pMVar28 & 2;\n  puVar25 = puVar27 + -0x47;\n  if (((uint)pMVar28 & 2) != 0) goto LAB_0001bf79;\n  if (((uint)pMVar28 & 0x8000) != 0) {\n    pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);\n  }\n  puVar25 = puVar27 + -0x47;\n  if (((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||\n     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))) goto LAB_0001bf79;\n  pMVar29 = pMVar28;\n  if (((uint)pMVar28 & 0x10000) != 0) {\n    puVar25 = puVar27 + -0x47;\n    if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);\n    if (((uint)pMVar28 & 4) == 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }\n  }\n  puVar27[-0x40] = puVar27[3];\n  puVar27[-0x41] = *puVar27;\n  puVar27[-0x4a] = 0x130;\n  puVar27[-0x4b] = 1;\n  puVar27[-0x4c] = 0x1bc1d;\n  pMVar10 = (MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a]);\n  puVar25 = puVar27 + -0x47;\n  if (pMVar10 == (MHD_Daemon *)0x0) goto LAB_0001bf79;\n  pMVar10->epoll_fd = -1;\n  pMVar10->listen_fd = -1;\n  pMVar10->listening_address_reuse = 0;\n  pMVar10->options = (MHD_FLAG)pMVar29;\n  pvVar3 = (void *)puVar27[-0x41];\n  pMVar10->default_handler = p_Var17;\n  pMVar10->connections = 0;\n  pMVar10->connection_limit = 0x3fc;\n  pMVar10->strict_for_client = (uint)pMVar29 >> 5 & 1;\n  uVar1 = *(uint16_t *)(puVar27 + -0x44);\n  pMVar10->apc_cls = pvVar3;\n  pMVar10->pool_size = 0x8000;\n  pMVar10->pool_increment = 0x400;\n  pMVar10->connection_timeout = 0;\n  (pMVar10->itc).fd = -1;\n  pMVar10->listen_backlog_size = 0x80;\n  pMVar10->port = uVar1;\n  ap = (va_list)puVar27[-0x40];\n  pMVar10->apc = (MHD_AcceptPolicyCallback)puVar27[-0x43];\n  pMVar10->default_handler_cls = (void *)puVar27[-0x42];\n  pMVar10->unescape_callback = (UnescapeCallback)(iVar8 + -0x43b9);\n  pMVar10->custom_error_log = (MHD_LogCallback)(iVar8 + -0x43e9);\n  pMVar10->custom_error_log_cls = (void *)**(undefined4 **)(iVar8 + 0x14497);\n  if (((uint)pMVar29 & 0xc) == 4) {\n    puVar27[-0x43] = ap;\n    puVar27[-0x4a] = iVar8 + 0xbff7;\n    puVar27[-0x4b] = pMVar10;\n    puVar27[-0x4c] = 0x1bebc;\n    MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);\n    ap = (va_list)puVar27[-0x43];\n    pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);\n    pMVar10->options = (MHD_FLAG)pMVar29;\nLAB_0001bed2:\n    if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }\n  }\n  else {\n    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);\n    pMVar10->options = (MHD_FLAG)pMVar29;\n  }\n  puVar23 = puVar27 + -0x47;\n  puVar25 = puVar27 + -0x47;\n  pMVar10->digest_auth_rand_size = 0;\n  pMVar10->digest_auth_random = (char *)0x0;\n  pMVar10->nonce_nc_size = 4;\n  puVar27[-0x48] = 0x1bd33;\n  MVar11 = parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap);\n  puVar22 = puVar27 + -0x47;\n  if (MVar11 == MHD_YES) {\n    MVar14 = pMVar10->options;\n    if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }\n    else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }\n    puVar25 = puVar27 + -0x47;\n    if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n    uVar7 = pMVar10->nonce_nc_size;\n    if (uVar7 != 0) {\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }\n    *(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) {\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;\n    free(*(void **)((int)puVar25 + -0x10));\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;\n    free(*(void **)((int)puVar25 + -0x10));\n    goto LAB_0001bf79;\n  }\nLAB_0001bf6b:\n  *(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10;\n  *(undefined4 *)((int)puVar22 + -0x14) = 0x1bf76;\n  free(*(void **)((int)puVar22 + -0x10));\n  puVar25 = puVar22;\nLAB_0001bf79:\n  if (*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)((int)puVar25 + -4) = 0x1cc8f;\n  __stack_chk_fail_local();\n  while( true ) {\n    *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c04a;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1904;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;\n    MVar14 = (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c078:\n    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;\nLAB_0001be45:\n    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar25 + -0x10) =\n       (-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c098;\n  MVar15 = MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10));\n  *(MHD_socket *)((int)puVar25 + 0x10) = MVar15;\n  if (MVar15 != -1) {\n    if (pMVar10->listening_address_reuse == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }\n    MVar14 = pMVar10->options;\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x1c;\n    if (puVar18 == (undefined1 *)0x0) {\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    *(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n    *(undefined4 *)((int)puVar25 + -0x10) = 4;\n    *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);\n    *(undefined4 *)((int)puVar25 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar25 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;\n    iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }\n    uVar20 = *(undefined4 *)((int)puVar25 + 0x38);\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar25 + -4) = 0x1c765;\n  piVar6 = __errno_location();\n  *(int *)((int)puVar25 + -0x10) = *piVar6;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c76f;\n  pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n  *(char **)((int)puVar25 + -8) = pcVar16;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc21f;\n  *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c780;\n  MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\nLAB_0001bf08:\n  if (pMVar10->epoll_fd != -1) {\n    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar25 + -0x10));\n  }\n  *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar25 + -0x10));\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x14);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf37;\n  iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n  if (iVar13 != 0) {\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar25 + -8) = 0x19e2;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;\n    (*pcVar4)();\n    goto LAB_0001ccae;\n  }\n  iVar13 = (pMVar10->itc).fd;\n  puVar22 = puVar25;\n  if (iVar13 != -1) {\n    *(int *)((int)puVar25 + -0x10) = iVar13;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 != 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar25 + -8) = 0x19f0;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1c619;\n  (*pcVar4)();\n  puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n  do {\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar27 = puVar25;\n    if (iVar13 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c669;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1911;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;\n    puVar18 = (undefined1 *)(*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;\n    if (puVar18 == (undefined1 *)0x0) {\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar25 + -8) = uVar20;\n    *(undefined1 **)((int)puVar25 + -0xc) = puVar18;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;\n    iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8));\n    if (iVar13 == -1) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    *(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;\n    iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n    if (-1 < iVar13) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;\n    pMVar29 = (MHD_mutex_ *)__errno_location();\n    *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x186b;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;\n    (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c200:\n    pMVar29 = &pMVar10->cleanup_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n  } while (iVar13 != 0);\n  if ((pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n      MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001bf79;\n  p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size;\n  if (p_Var17 == (MHD_AccessHandlerCallback)0x0) {\n    iVar13 = iVar8 + 0xb306;\n    if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n      iVar13 = iVar8 + 0xb2fb;\n    }\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n    *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n    *(int *)((int)puVar25 + -0x1c) = iVar13;\n    *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;\n    iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10));\n    if (iVar13 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c280;\n    p_Var17 = (MHD_AccessHandlerCallback)__errno_location();\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;\n    puVar23 = (undefined4 *)((int)puVar25 + -0x10);\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar26 = (undefined1 *)puVar25;\n    if (iVar13 == 0) {\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }\nLAB_0001cccd:\n    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar26 + -8) = 0x193b;\n    *(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;\n    puVar25 = (undefined4 *)(puVar26 + -0x10);\n    *(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)(puVar26 + -0x14) = 0x1ccec;\n    (*pcVar4)();\nLAB_0001ccec:\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1977;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;\n    (*pcVar4)();\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;\n    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;\n    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));\n    pMVar10->worker_pool = pMVar19;\n    if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }\n    if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;\n    piVar6 = __errno_location();\n    puVar18 = (undefined1 *)puVar25;\n    if (*piVar6 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar18 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar18 + -8) = 0x19b9;\n  *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n  puVar25 = (undefined4 *)(puVar18 + -0x10);\n  *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)(puVar18 + -0x14) = 0x1cd2a;\n  (*pcVar4)();\nLAB_0001cd2a:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar25 + -8) = 0x193c;\n  *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n  puVar27 = (undefined4 *)((int)puVar25 + -0x10);\n  *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd49;\n  (*pcVar4)();\nLAB_0001cd49:\n  puVar27[-1] = iVar8 + 0xb2e1;\n  puVar27[-2] = 0x190e;\n  puVar27[-3] = iVar8 + 0xb1ff;\n  puVar27[-4] = *(undefined4 *)(iVar8 + 0x1462f);\n  pcVar4 = *(code **)(iVar8 + 0x14633);\n  puVar27[-5] = 0x1cd68;\n  (*pcVar4)();\n  puVar27[-5] = iVar8 + 0x144c7;\n  puVar27[-6] = 0x1cd76;\n  puVar27[-9] = puVar27 + 3;\n  puVar27[-10] = puVar27[2];\n  puVar27[-0xb] = puVar27[1];\n  puVar27[-0xc] = *puVar27;\n  puVar27[-0xd] = puVar27[-1];\n  puVar27[-0xe] = (uint)*(ushort *)(puVar27 + -2);\n  puVar27[-0xf] = puVar27[-3];\n  puVar27[-0x10] = 0x1cda6;\n  MHD_start_daemon_va(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),\n                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],\n                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],\n                      (va_list)puVar27[-9]);\n  return;\n}" { (declaration "uint16_t uVar1;" primitive_type identifier ;) (declaration "short sVar2;" (sized_type_specifier "short" short) identifier ;) (declaration "void *pvVar3;" primitive_type (pointer_declarator "*pvVar3" * identifier) ;) (declaration "code *pcVar4;" type_identifier (pointer_declarator "*pcVar4" * identifier) ;) (declaration "ssize_t sVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint64_t *puVar9;" primitive_type (pointer_declarator "*puVar9" * identifier) ;) (declaration "MHD_Daemon *pMVar10;" type_identifier (pointer_declarator "*pMVar10" * identifier) ;) (declaration "MHD_Result MVar11;" type_identifier identifier ;) (declaration "MHD_NonceNc *pMVar12;" type_identifier (pointer_declarator "*pMVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "MHD_FLAG MVar14;" type_identifier identifier ;) (declaration "MHD_socket MVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "MHD_AccessHandlerCallback p_Var17;" type_identifier identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "MHD_Daemon *pMVar19;" type_identifier (pointer_declarator "*pMVar19" * identifier) ;) (declaration "va_list ap;" type_identifier identifier ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 uVar20;" type_identifier identifier ;) (declaration "MHD_Daemon *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined4 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "uint unaff_EBP;" type_identifier identifier ;) (declaration "MHD_mutex_ *pMVar28;" type_identifier (pointer_declarator "*pMVar28" * identifier) ;) (declaration "MHD_mutex_ *pMVar29;" type_identifier (pointer_declarator "*pMVar29" * identifier) ;) (declaration "uint64_t *unaff_EDI;" primitive_type (pointer_declarator "*unaff_EDI" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "undefined1 auStack_2c [12];" type_identifier (array_declarator "auStack_2c [12]" identifier [ number_literal ]) ;) (declaration "uint64_t *puStack_20;" primitive_type (pointer_declarator "*puStack_20" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "undefined4 uStack_10;" type_identifier identifier ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "uStack_10 = 0x30000;" (assignment_expression "uStack_10 = 0x30000" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1b6f9;" (assignment_expression "uStack_14 = 0x1b6f9" identifier = number_literal) ;) (expression_statement "puVar26 = auStack_2c;" (assignment_expression "puVar26 = auStack_2c" identifier = identifier) ;) (expression_statement "puVar18 = auStack_2c;" (assignment_expression "puVar18 = auStack_2c" identifier = identifier) ;) (expression_statement "puVar27 = (undefined4 *)auStack_2c;" (assignment_expression "puVar27 = (undefined4 *)auStack_2c" identifier = (cast_expression "(undefined4 *)auStack_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar21 = auStack_2c;" (assignment_expression "puVar21 = auStack_2c" identifier = identifier) ;) (if_statement "if (daemon == (MHD_Daemon *)0x0) {\n    return;\n  }" if (parenthesized_expression "(daemon == (MHD_Daemon *)0x0)" ( (binary_expression "daemon == (MHD_Daemon *)0x0" identifier == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "daemon->shutdown = true;" (assignment_expression "daemon->shutdown = true" (field_expression "daemon->shutdown" identifier -> field_identifier) = true) ;) (expression_statement "pMVar10 = daemon->worker_pool;" (assignment_expression "pMVar10 = daemon->worker_pool" identifier = (field_expression "daemon->worker_pool" identifier -> field_identifier)) ;) (if_statement "if (daemon->was_quiesced == false) {\n    unaff_EDI = (uint64_t *)daemon->listen_fd;\n    puStack_20 = unaff_EDI;\n    puVar18 = auStack_2c;\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\n    }\n    if (daemon->worker_pool_size == 0) {\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    pMVar10 = daemon->worker_pool;\n    if (uVar7 != 0) {\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }\n    *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar27 + -0x10));\nLAB_0001b81d:\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\n    if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar27 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar27 + -4) = 0x1b842;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar27 + -8) = 0x1b19;\n    *(char **)((int)puVar27 + -0xc) = "daemon.c";\n    puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n    *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;\n    (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\nLAB_0001bad2:\n    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1af7;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar26 = puVar18 + -0x10;\n    *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1baf1;\n    (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4));\nLAB_0001baf1:\n    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0x1b2f;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = (undefined4 *)(puVar26 + -0x10);\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1bb10;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = daemon->worker_pool_size;\n    puStack_20 = (uint64_t *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(pMVar10);\n    puVar27 = (undefined4 *)auStack_2c;\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\nLAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar27 + -0x10));\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    puVar26 = (undefined1 *)puVar27;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }\n  }" if (parenthesized_expression "(daemon->was_quiesced == false)" ( (binary_expression "daemon->was_quiesced == false" (field_expression "daemon->was_quiesced" identifier -> field_identifier) == false) )) (compound_statement "{\n    unaff_EDI = (uint64_t *)daemon->listen_fd;\n    puStack_20 = unaff_EDI;\n    puVar18 = auStack_2c;\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\n    }\n    if (daemon->worker_pool_size == 0) {\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    pMVar10 = daemon->worker_pool;\n    if (uVar7 != 0) {\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }\n    *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar27 + -0x10));\nLAB_0001b81d:\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\n    if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar27 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar27 + -4) = 0x1b842;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar27 + -8) = 0x1b19;\n    *(char **)((int)puVar27 + -0xc) = "daemon.c";\n    puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n    *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;\n    (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\nLAB_0001bad2:\n    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar18 + -8) = 0x1af7;\n    *(char **)(puVar18 + -0xc) = "daemon.c";\n    puVar26 = puVar18 + -0x10;\n    *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar18 + -0x14) = 0x1baf1;\n    (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4));\nLAB_0001baf1:\n    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0x1b2f;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = (undefined4 *)(puVar26 + -0x10);\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1bb10;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }" { (expression_statement "unaff_EDI = (uint64_t *)daemon->listen_fd;" (assignment_expression "unaff_EDI = (uint64_t *)daemon->listen_fd" identifier = (cast_expression "(uint64_t *)daemon->listen_fd" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "daemon->listen_fd" identifier -> field_identifier))) ;) (expression_statement "puStack_20 = unaff_EDI;" (assignment_expression "puStack_20 = unaff_EDI" identifier = identifier) ;) (expression_statement "puVar18 = auStack_2c;" (assignment_expression "puVar18 = auStack_2c" identifier = identifier) ;) (if_statement "if (pMVar10 == (MHD_Daemon *)0x0) {\n      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\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      do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );\n    }" { (do_statement "do {\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      } while( true );" do (compound_statement "{\n        puVar26 = puVar18;\n        if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        iVar8 = (daemon->itc).fd;\n        if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar27 = (undefined4 *)puVar26;\n        if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }\n        *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar27 + -8) = 0x1b10;\n        *(char **)((int)puVar27 + -0xc) = "daemon.c";\n        puVar18 = (undefined1 *)((int)puVar27 + -0x10);\n        *(void **)((int)puVar27 + -0x10) = mhd_panic_cls;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;\n        (*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));\n      }" { (expression_statement "puVar26 = puVar18;" (assignment_expression "puVar26 = puVar18" identifier = identifier) ;) (if_statement "if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }\n        else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" if (parenthesized_expression "((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "daemon->options & MHD_USE_INTERNAL_POLLING_THREAD" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\nLAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;\n          close_all_connections(daemon);\n        }" { (labeled_statement "LAB_0001ba78:\n          *(undefined4 *)(puVar26 + -4) = 0x1ba7f;" statement_identifier : (expression_statement "*(undefined4 *)(puVar26 + -4) = 0x1ba7f;" (assignment_expression "*(undefined4 *)(puVar26 + -4) = 0x1ba7f" (pointer_expression "*(undefined4 *)(puVar26 + -4)" * (cast_expression "(undefined4 *)(puVar26 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "close_all_connections(daemon);" (call_expression "close_all_connections(daemon)" identifier (argument_list "(daemon)" ( identifier ))) ;) }) (else_clause "else {\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" else (compound_statement "{\n          puVar9 = (uint64_t *)(daemon->itc).fd;\n          if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;\n          *(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;\n          *(undefined4 *)(puVar18 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));\n          puVar26 = puVar18;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" { (expression_statement "puVar9 = (uint64_t *)(daemon->itc).fd;" (assignment_expression "puVar9 = (uint64_t *)(daemon->itc).fd" identifier = (cast_expression "(uint64_t *)(daemon->itc).fd" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (puVar9 == (uint64_t *)0xffffffff) {\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" if (parenthesized_expression "(puVar9 == (uint64_t *)0xffffffff)" ( (binary_expression "puVar9 == (uint64_t *)0xffffffff" identifier == (cast_expression "(uint64_t *)0xffffffff" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }\n          }" { (if_statement "if ((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)) {\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }" if (parenthesized_expression "((*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0))" ( (binary_expression "(*(int *)(puVar18 + 0xc) != -1) && (daemon->master == (MHD_Daemon *)0x0)" (parenthesized_expression "(*(int *)(puVar18 + 0xc) != -1)" ( (binary_expression "*(int *)(puVar18 + 0xc) != -1" (pointer_expression "*(int *)(puVar18 + 0xc)" * (cast_expression "(int *)(puVar18 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(daemon->master == (MHD_Daemon *)0x0)" ( (binary_expression "daemon->master == (MHD_Daemon *)0x0" (field_expression "daemon->master" identifier -> field_identifier) == (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n              *(undefined4 *)(puVar18 + -0xc) = 2;\n              *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);\n              *(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));\n            }" { (expression_statement "*(undefined4 *)(puVar18 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(puVar18 + 0xc)" (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) )))) = (pointer_expression "*(undefined4 *)(puVar18 + 0xc)" * (cast_expression "(undefined4 *)(puVar18 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1ba0c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1ba0c" (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 "shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc));" (call_expression "shutdown(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc))" identifier (argument_list "(*(int *)(puVar18 + -0x10),*(int *)(puVar18 + -0xc))" ( (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" else (compound_statement "{\nLAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;\n            *(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;\n            *(uint64_t **)(puVar18 + -0x10) = puVar9;\n            *(undefined4 *)(puVar18 + -0x14) = 0x1ba32;\n            sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));\n            if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" { (labeled_statement "LAB_0001ba20:\n            *(undefined4 *)(puVar18 + -8) = 8;" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 8" (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 "*(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data;" (assignment_expression "*(uint64_t **)(puVar18 + -0xc) = &_MHD_itc_wr_data" (pointer_expression "*(uint64_t **)(puVar18 + -0xc)" * (cast_expression "(uint64_t **)(puVar18 + -0xc)" ( (type_descriptor "uint64_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (pointer_expression "&_MHD_itc_wr_data" & identifier)) ;) (expression_statement "*(uint64_t **)(puVar18 + -0x10) = puVar9;" (assignment_expression "*(uint64_t **)(puVar18 + -0x10) = puVar9" (pointer_expression "*(uint64_t **)(puVar18 + -0x10)" * (cast_expression "(uint64_t **)(puVar18 + -0x10)" ( (type_descriptor "uint64_t **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1ba32;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1ba32" (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 "sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8));" (assignment_expression "sVar5 = write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8))" identifier = (call_expression "write(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8))" identifier (argument_list "(*(int *)(puVar18 + -0x10),*(void **)(puVar18 + -0xc),\n                          *(size_t *)(puVar18 + -8))" ( (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar18 + -0xc)" * (cast_expression "(void **)(puVar18 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar18 + -8)" * (cast_expression "(size_t *)(puVar18 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar5 < 1) {\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" if (parenthesized_expression "(sVar5 < 1)" ( (binary_expression "sVar5 < 1" identifier < number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar18 + -4) = 0x1ba42;\n              piVar6 = __errno_location();\n              if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar18 + -4) = 0x1ba42;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0x1ba42" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 0xb) {\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" if (parenthesized_expression "(*piVar6 != 0xb)" ( (binary_expression "*piVar6 != 0xb" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n                *(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar18 + -8) = 0x1ae5;\n                *(char **)(puVar18 + -0xc) = "daemon.c";\n                puVar26 = puVar18 + -0x10;\n                *(void **)(puVar18 + -0x10) = mhd_panic_cls;\n                *(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;\n                (*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));\nLAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" { (expression_statement "*(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";" (assignment_expression "*(char **)(puVar18 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\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 signal shutdown via inter-thread communication channel.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x1ae5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x1ae5" (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 "puVar26 = puVar18 + -0x10;" (assignment_expression "puVar26 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "*(void **)(puVar18 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar18 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1ba6a;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1ba6a" (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 "(*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4));" (call_expression "(*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),\n                             *(uint *)(puVar18 + -8),*(char **)(puVar18 + -4))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (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) )))) , (pointer_expression "*(uint *)(puVar18 + -8)" * (cast_expression "(uint *)(puVar18 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) , (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) )))) ))) ;) (labeled_statement "LAB_0001ba70:\n                *(undefined4 *)(puVar26 + 0xc) = 0xffffffff;" statement_identifier : (expression_statement "*(undefined4 *)(puVar26 + 0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar26 + 0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar26 + 0xc)" * (cast_expression "(undefined4 *)(puVar26 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0xc)" ( (binary_expression "puVar26 + 0xc" identifier + number_literal) )))) = number_literal) ;)) (goto_statement "goto LAB_0001ba78;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_0001b8f8:\n          *(undefined4 *)(puVar18 + -0xc) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar18 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0xc)" * (cast_expression "(undefined4 *)(puVar18 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle;" (assignment_expression "*(MHD_thread_handle_ *)(puVar18 + -0x10) = (daemon->pid).handle" (pointer_expression "*(MHD_thread_handle_ *)(puVar18 + -0x10)" * (cast_expression "(MHD_thread_handle_ *)(puVar18 + -0x10)" ( (type_descriptor "MHD_thread_handle_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (field_expression "(daemon->pid).handle" (parenthesized_expression "(daemon->pid)" ( (field_expression "daemon->pid" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1b908;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1b908" (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 "iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc));" (assignment_expression "iVar8 = pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc))" identifier = (call_expression "pthread_join(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc))" identifier (argument_list "(*(pthread_t *)(puVar18 + -0x10),*(void ***)(puVar18 + -0xc))" ( (pointer_expression "*(pthread_t *)(puVar18 + -0x10)" * (cast_expression "(pthread_t *)(puVar18 + -0x10)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void ***)(puVar18 + -0xc)" * (cast_expression "(void ***)(puVar18 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "puVar26 = puVar18;" (assignment_expression "puVar26 = puVar18" identifier = identifier) ;) (if_statement "if (iVar8 != 0) goto LAB_0001bad2;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001bad2;" goto statement_identifier ;)) }))) (expression_statement "iVar8 = (daemon->itc).fd;" (assignment_expression "iVar8 = (daemon->itc).fd" identifier = (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (iVar8 != -1) {\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }" if (parenthesized_expression "(iVar8 != -1)" ( (binary_expression "iVar8 != -1" identifier != number_literal) )) (compound_statement "{\n          *(int *)(puVar26 + -0x10) = iVar8;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }\n        }" { (expression_statement "*(int *)(puVar26 + -0x10) = iVar8;" (assignment_expression "*(int *)(puVar26 + -0x10) = iVar8" (pointer_expression "*(int *)(puVar26 + -0x10)" * (cast_expression "(int *)(puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x14) = 0x1b927;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1b927" (pointer_expression "*(undefined4 *)(puVar26 + -0x14)" * (cast_expression "(undefined4 *)(puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = close(*(int *)(puVar26 + -0x10));" (assignment_expression "iVar8 = close(*(int *)(puVar26 + -0x10))" identifier = (call_expression "close(*(int *)(puVar26 + -0x10))" identifier (argument_list "(*(int *)(puVar26 + -0x10))" ( (pointer_expression "*(int *)(puVar26 + -0x10)" * (cast_expression "(int *)(puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar26 + -4) = 0x1b933;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar26 + -4) = 0x1b933;" (assignment_expression "*(undefined4 *)(puVar26 + -4) = 0x1b933" (pointer_expression "*(undefined4 *)(puVar26 + -4)" * (cast_expression "(undefined4 *)(puVar26 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }" if (parenthesized_expression "(*piVar6 == 9)" ( (binary_expression "*piVar6 == 9" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n              *(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b02;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1bab3;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n              goto LAB_0001bab3;\n            }" { (expression_statement "*(char **)(puVar26 + -4) = "Failed to destroy ITC.\n";" (assignment_expression "*(char **)(puVar26 + -4) = "Failed to destroy ITC.\n"" (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = (string_literal ""Failed to destroy ITC.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar26 + -8) = 0x1b02;" (assignment_expression "*(undefined4 *)(puVar26 + -8) = 0x1b02" (pointer_expression "*(undefined4 *)(puVar26 + -8)" * (cast_expression "(undefined4 *)(puVar26 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar26 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar26 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar26 + -0xc)" * (cast_expression "(char **)(puVar26 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar27 = (undefined4 *)(puVar26 + -0x10);" (assignment_expression "puVar27 = (undefined4 *)(puVar26 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar26 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(void **)(puVar26 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar26 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar26 + -0x10)" * (cast_expression "(void **)(puVar26 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x14) = 0x1bab3;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1bab3" (pointer_expression "*(undefined4 *)(puVar26 + -0x14)" * (cast_expression "(undefined4 *)(puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));" (call_expression "(*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4))" ( (pointer_expression "*(void **)(puVar26 + -0x10)" * (cast_expression "(void **)(puVar26 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -0xc)" * (cast_expression "(char **)(puVar26 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar26 + -8)" * (cast_expression "(uint *)(puVar26 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bab3;" goto statement_identifier ;) })) })) })) (expression_statement "puVar27 = (undefined4 *)puVar26;" (assignment_expression "puVar27 = (undefined4 *)puVar26" identifier = (cast_expression "(undefined4 *)puVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)) {\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }" if (parenthesized_expression "(((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1))" ( (binary_expression "((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG) && (daemon->epoll_fd != -1)" (parenthesized_expression "((daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_EPOLL)" ( (binary_expression "daemon->options & MHD_USE_EPOLL" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) != identifier) )) && (parenthesized_expression "(daemon->epoll_fd != -1)" ( (binary_expression "daemon->epoll_fd != -1" (field_expression "daemon->epoll_fd" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n          *(int *)(puVar26 + -0x10) = daemon->epoll_fd;\n          *(undefined4 *)(puVar26 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar26 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }\n        }" { (expression_statement "*(int *)(puVar26 + -0x10) = daemon->epoll_fd;" (assignment_expression "*(int *)(puVar26 + -0x10) = daemon->epoll_fd" (pointer_expression "*(int *)(puVar26 + -0x10)" * (cast_expression "(int *)(puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = (field_expression "daemon->epoll_fd" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x14) = 0x1b959;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1b959" (pointer_expression "*(undefined4 *)(puVar26 + -0x14)" * (cast_expression "(undefined4 *)(puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = close(*(int *)(puVar26 + -0x10));" (assignment_expression "iVar8 = close(*(int *)(puVar26 + -0x10))" identifier = (call_expression "close(*(int *)(puVar26 + -0x10))" identifier (argument_list "(*(int *)(puVar26 + -0x10))" ( (pointer_expression "*(int *)(puVar26 + -0x10)" * (cast_expression "(int *)(puVar26 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar26 + -4) = 0x1b965;\n            piVar6 = __errno_location();\n            if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar26 + -4) = 0x1b965;" (assignment_expression "*(undefined4 *)(puVar26 + -4) = 0x1b965" (pointer_expression "*(undefined4 *)(puVar26 + -4)" * (cast_expression "(undefined4 *)(puVar26 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 == 9) {\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }" if (parenthesized_expression "(*piVar6 == 9)" ( (binary_expression "*piVar6 == 9" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n              *(char **)(puVar26 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar26 + -8) = 0x1b07;\n              *(char **)(puVar26 + -0xc) = "daemon.c";\n              puVar27 = (undefined4 *)(puVar26 + -0x10);\n              *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n              *(undefined4 *)(puVar26 + -0x14) = 0x1b989;\n              (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));\n            }" { (expression_statement "*(char **)(puVar26 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)(puVar26 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = (string_literal ""Close socket failed.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar26 + -8) = 0x1b07;" (assignment_expression "*(undefined4 *)(puVar26 + -8) = 0x1b07" (pointer_expression "*(undefined4 *)(puVar26 + -8)" * (cast_expression "(undefined4 *)(puVar26 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar26 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar26 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar26 + -0xc)" * (cast_expression "(char **)(puVar26 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar27 = (undefined4 *)(puVar26 + -0x10);" (assignment_expression "puVar27 = (undefined4 *)(puVar26 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar26 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(void **)(puVar26 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar26 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar26 + -0x10)" * (cast_expression "(void **)(puVar26 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x14) = 0x1b989;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1b989" (pointer_expression "*(undefined4 *)(puVar26 + -0x14)" * (cast_expression "(undefined4 *)(puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4));" (call_expression "(*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),\n                           *(uint *)(puVar26 + -8),*(char **)(puVar26 + -4))" ( (pointer_expression "*(void **)(puVar26 + -0x10)" * (cast_expression "(void **)(puVar26 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -0xc)" * (cast_expression "(char **)(puVar26 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar26 + -8)" * (cast_expression "(uint *)(puVar26 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) ))) ;) })) })) })) (expression_statement "*(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->cleanup_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&daemon->cleanup_connection_mutex" & (field_expression "daemon->cleanup_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b99f" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar27 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar27 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar27 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_0001b81d;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b81d;" goto statement_identifier ;)) (expression_statement "*(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)((int)puVar27 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)((int)puVar27 + -4)" * (cast_expression "(char **)((int)puVar27 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -4)" ( (binary_expression "(int)puVar27 + -4" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -8) = 0x1b10;" (assignment_expression "*(undefined4 *)((int)puVar27 + -8) = 0x1b10" (pointer_expression "*(undefined4 *)((int)puVar27 + -8)" * (cast_expression "(undefined4 *)((int)puVar27 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -8)" ( (binary_expression "(int)puVar27 + -8" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar27 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar27 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar27 + -0xc)" * (cast_expression "(char **)((int)puVar27 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar18 = (undefined1 *)((int)puVar27 + -0x10);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar27 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar27 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(void **)((int)puVar27 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)((int)puVar27 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b9c9" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));" (call_expression "(*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                     *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4))" ( (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar27 + -0xc)" * (cast_expression "(char **)((int)puVar27 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar27 + -8)" * (cast_expression "(uint *)((int)puVar27 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -8)" ( (binary_expression "(int)puVar27 + -8" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar27 + -4)" * (cast_expression "(char **)((int)puVar27 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -4)" ( (binary_expression "(int)puVar27 + -4" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (daemon->worker_pool_size == 0) {\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }" if (parenthesized_expression "(daemon->worker_pool_size == 0)" ( (binary_expression "daemon->worker_pool_size == 0" (field_expression "daemon->worker_pool_size" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      bVar30 = unaff_EDI == (uint64_t *)0xffffffff;\n      unaff_EDI = (uint64_t *)0x0;\n      if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;\n      *(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));\n      uVar7 = daemon->worker_pool_size;\n    }" { (expression_statement "bVar30 = unaff_EDI == (uint64_t *)0xffffffff;" (assignment_expression "bVar30 = unaff_EDI == (uint64_t *)0xffffffff" identifier = (binary_expression "unaff_EDI == (uint64_t *)0xffffffff" identifier == (cast_expression "(uint64_t *)0xffffffff" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "unaff_EDI = (uint64_t *)0x0;" (assignment_expression "unaff_EDI = (uint64_t *)0x0" identifier = (cast_expression "(uint64_t *)0x0" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar30) {\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n        unaff_EDI = (uint64_t *)0x0;\n        goto LAB_0001b8ba;\n      }" { (expression_statement "unaff_EDI = (uint64_t *)0x0;" (assignment_expression "unaff_EDI = (uint64_t *)0x0" identifier = (cast_expression "(uint64_t *)0x0" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001b8ba;" goto statement_identifier ;) })) (labeled_statement "LAB_0001b7cf:\n      *(undefined4 *)((int)puVar27 + -0xc) = 2;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar27 + -0xc) = 2;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0xc) = 2" (pointer_expression "*(undefined4 *)((int)puVar27 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar27 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x10) = *(undefined4 *)((int)puVar27 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar27 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar27 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + 0xc)" ( (binary_expression "(int)puVar27 + 0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b7dd" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc));" (call_expression "shutdown(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc))" identifier (argument_list "(*(int *)((int)puVar27 + -0x10),*(int *)((int)puVar27 + -0xc))" ( (pointer_expression "*(int *)((int)puVar27 + -0x10)" * (cast_expression "(int *)((int)puVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar27 + -0xc)" * (cast_expression "(int *)((int)puVar27 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "uVar7 = daemon->worker_pool_size;" (assignment_expression "uVar7 = daemon->worker_pool_size" identifier = (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) ;) }) (else_clause "else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }" else (compound_statement "{\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &_MHD_itc_wr_data;\n      while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }\n      puVar21 = &stack0xffffffc4;\n      uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");\nLAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;\n      if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;\n    }" { (labeled_statement "LAB_0001b747:\n      unaff_EBP = 0;" statement_identifier : (expression_statement "unaff_EBP = 0;" (assignment_expression "unaff_EBP = 0" identifier = number_literal) ;)) (expression_statement "unaff_EDI = &_MHD_itc_wr_data;" (assignment_expression "unaff_EDI = &_MHD_itc_wr_data" identifier = (pointer_expression "&_MHD_itc_wr_data" & identifier)) ;) (while_statement "while( true ) {\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pMVar10[unaff_EBP].shutdown = true;\n        iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;\n        if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;\n        uVar7 = daemon->worker_pool_size;\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;\n        pMVar10 = daemon->worker_pool;\n      }" { (expression_statement "pMVar10[unaff_EBP].shutdown = true;" (assignment_expression "pMVar10[unaff_EBP].shutdown = true" (field_expression "pMVar10[unaff_EBP].shutdown" (subscript_expression "pMVar10[unaff_EBP]" identifier [ identifier ]) . field_identifier) = true) ;) (expression_statement "iVar8 = daemon->worker_pool[unaff_EBP].itc.fd;" (assignment_expression "iVar8 = daemon->worker_pool[unaff_EBP].itc.fd" identifier = (field_expression "daemon->worker_pool[unaff_EBP].itc.fd" (field_expression "daemon->worker_pool[unaff_EBP].itc" (subscript_expression "daemon->worker_pool[unaff_EBP]" (field_expression "daemon->worker_pool" identifier -> field_identifier) [ identifier ]) . field_identifier) . field_identifier)) ;) (if_statement "if (((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)) break;" if (parenthesized_expression "(((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb))" ( (binary_expression "((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)) &&\n           (piVar6 = __errno_location(), *piVar6 != 0xb)" (parenthesized_expression "((iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1))" ( (binary_expression "(iVar8 != -1) && (sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)" (parenthesized_expression "(iVar8 != -1)" ( (binary_expression "iVar8 != -1" identifier != number_literal) )) && (parenthesized_expression "(sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1)" ( (comma_expression "sVar5 = write(iVar8,&_MHD_itc_wr_data,8), sVar5 < 1" (assignment_expression "sVar5 = write(iVar8,&_MHD_itc_wr_data,8)" identifier = (call_expression "write(iVar8,&_MHD_itc_wr_data,8)" identifier (argument_list "(iVar8,&_MHD_itc_wr_data,8)" ( identifier , (pointer_expression "&_MHD_itc_wr_data" & identifier) , number_literal )))) , (binary_expression "sVar5 < 1" identifier < number_literal)) ))) )) && (parenthesized_expression "(piVar6 = __errno_location(), *piVar6 != 0xb)" ( (comma_expression "piVar6 = __errno_location(), *piVar6 != 0xb" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) , (binary_expression "*piVar6 != 0xb" (pointer_expression "*piVar6" * identifier) != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar7 = daemon->worker_pool_size;" (assignment_expression "uVar7 = daemon->worker_pool_size" identifier = (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) ;) (expression_statement "unaff_EBP = unaff_EBP + 1;" (assignment_expression "unaff_EBP = unaff_EBP + 1" identifier = (binary_expression "unaff_EBP + 1" identifier + number_literal)) ;) (if_statement "if (uVar7 <= unaff_EBP) goto LAB_0001b7c8;" if (parenthesized_expression "(uVar7 <= unaff_EBP)" ( (binary_expression "uVar7 <= unaff_EBP" identifier <= identifier) )) (goto_statement "goto LAB_0001b7c8;" goto statement_identifier ;)) (expression_statement "pMVar10 = daemon->worker_pool;" (assignment_expression "pMVar10 = daemon->worker_pool" identifier = (field_expression "daemon->worker_pool" identifier -> field_identifier)) ;) })) (expression_statement "puVar21 = &stack0xffffffc4;" (assignment_expression "puVar21 = &stack0xffffffc4" identifier = (pointer_expression "&stack0xffffffc4" & identifier)) ;) (expression_statement "uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n");" (assignment_expression "uVar7 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n")" identifier = (call_expression "(*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n")" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(mhd_panic_cls,"daemon.c",0x1abf,\n                           "Failed to signal shutdown via inter-thread communication channel.\n")" ( identifier , (string_literal ""daemon.c"" " string_content ") , number_literal , (string_literal ""Failed to signal shutdown via inter-thread communication channel.\n"" " string_content escape_sequence ") )))) ;) (labeled_statement "LAB_0001b7c8:\n      puVar27 = (undefined4 *)puVar21;" statement_identifier : (expression_statement "puVar27 = (undefined4 *)puVar21;" (assignment_expression "puVar27 = (undefined4 *)puVar21" identifier = (cast_expression "(undefined4 *)puVar21" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (*(int *)(puVar21 + 0xc) != -1) goto LAB_0001b7cf;" if (parenthesized_expression "(*(int *)(puVar21 + 0xc) != -1)" ( (binary_expression "*(int *)(puVar21 + 0xc) != -1" (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) )))) != number_literal) )) (goto_statement "goto LAB_0001b7cf;" goto statement_identifier ;)) }))) (expression_statement "pMVar10 = daemon->worker_pool;" (assignment_expression "pMVar10 = daemon->worker_pool" identifier = (field_expression "daemon->worker_pool" identifier -> field_identifier)) ;) (if_statement "if (uVar7 != 0) {\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar9 = (uint64_t *)0x0;\n      do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);\n    }" { (expression_statement "puVar9 = (uint64_t *)0x0;" (assignment_expression "puVar9 = (uint64_t *)0x0" identifier = (cast_expression "(uint64_t *)0x0" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      } while (unaff_EDI < (uint64_t *)daemon->worker_pool_size);" do (compound_statement "{\n        unaff_EDI = (uint64_t *)((int)puVar9 + 1);\n        *(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;\n        *(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));\n        pMVar10 = daemon->worker_pool;\n        puVar9 = unaff_EDI;\n      }" { (expression_statement "unaff_EDI = (uint64_t *)((int)puVar9 + 1);" (assignment_expression "unaff_EDI = (uint64_t *)((int)puVar9 + 1)" identifier = (cast_expression "(uint64_t *)((int)puVar9 + 1)" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 1)" ( (binary_expression "(int)puVar9 + 1" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9;" (assignment_expression "*(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10 + (int)puVar9" (pointer_expression "*(MHD_Daemon **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "pMVar10 + (int)puVar9" identifier + (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b803;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b803" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10));" (call_expression "MHD_stop_daemon(*(MHD_Daemon **)((int)puVar27 + -0x10))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar27 + -0x10))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar10 = daemon->worker_pool;" (assignment_expression "pMVar10 = daemon->worker_pool" identifier = (field_expression "daemon->worker_pool" identifier -> field_identifier)) ;) (expression_statement "puVar9 = unaff_EDI;" (assignment_expression "puVar9 = unaff_EDI" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_EDI < (uint64_t *)daemon->worker_pool_size)" ( (binary_expression "unaff_EDI < (uint64_t *)daemon->worker_pool_size" identifier < (cast_expression "(uint64_t *)daemon->worker_pool_size" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "daemon->worker_pool_size" identifier -> field_identifier))) )) ;) })) (expression_statement "*(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar27 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b81a" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar27 + -0x10));" (call_expression "free(*(void **)((int)puVar27 + -0x10))" identifier (argument_list "(*(void **)((int)puVar27 + -0x10))" ( (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001b81d:\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }" statement_identifier : (if_statement "if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }" if (parenthesized_expression "(daemon->master != (MHD_Daemon *)0x0)" ( (binary_expression "daemon->master != (MHD_Daemon *)0x0" (field_expression "daemon->master" identifier -> field_identifier) != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) }))) (if_statement "if (*(int *)((int)puVar27 + 0xc) == -1) goto LAB_0001b84b;" if (parenthesized_expression "(*(int *)((int)puVar27 + 0xc) == -1)" ( (binary_expression "*(int *)((int)puVar27 + 0xc) == -1" (pointer_expression "*(int *)((int)puVar27 + 0xc)" * (cast_expression "(int *)((int)puVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + 0xc)" ( (binary_expression "(int)puVar27 + 0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc);" (assignment_expression "*(int *)((int)puVar27 + -0x10) = *(int *)((int)puVar27 + 0xc)" (pointer_expression "*(int *)((int)puVar27 + -0x10)" * (cast_expression "(int *)((int)puVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar27 + 0xc)" * (cast_expression "(int *)((int)puVar27 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + 0xc)" ( (binary_expression "(int)puVar27 + 0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b836;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b836" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = close(*(int *)((int)puVar27 + -0x10));" (assignment_expression "iVar8 = close(*(int *)((int)puVar27 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar27 + -0x10))" identifier (argument_list "(*(int *)((int)puVar27 + -0x10))" ( (pointer_expression "*(int *)((int)puVar27 + -0x10)" * (cast_expression "(int *)((int)puVar27 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_0001b84b;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar27 + -4) = 0x1b842;" (assignment_expression "*(undefined4 *)((int)puVar27 + -4) = 0x1b842" (pointer_expression "*(undefined4 *)((int)puVar27 + -4)" * (cast_expression "(undefined4 *)((int)puVar27 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -4)" ( (binary_expression "(int)puVar27 + -4" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 9) goto LAB_0001b84b;" if (parenthesized_expression "(*piVar6 != 9)" ( (binary_expression "*piVar6 != 9" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (labeled_statement "LAB_0001bab3:\n    *(char **)((int)puVar27 + -4) = "Close socket failed.\n";" statement_identifier : (expression_statement "*(char **)((int)puVar27 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)((int)puVar27 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)((int)puVar27 + -4)" * (cast_expression "(char **)((int)puVar27 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -4)" ( (binary_expression "(int)puVar27 + -4" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Close socket failed.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)((int)puVar27 + -8) = 0x1b19;" (assignment_expression "*(undefined4 *)((int)puVar27 + -8) = 0x1b19" (pointer_expression "*(undefined4 *)((int)puVar27 + -8)" * (cast_expression "(undefined4 *)((int)puVar27 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -8)" ( (binary_expression "(int)puVar27 + -8" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar27 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar27 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar27 + -0xc)" * (cast_expression "(char **)((int)puVar27 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar18 = (undefined1 *)((int)puVar27 + -0x10);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar27 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar27 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(void **)((int)puVar27 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)((int)puVar27 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1bad2" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4));" (call_expression "(*mhd_panic)(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)((int)puVar27 + -0x10),*(char **)((int)puVar27 + -0xc),\n                 *(uint *)((int)puVar27 + -8),*(char **)((int)puVar27 + -4))" ( (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar27 + -0xc)" * (cast_expression "(char **)((int)puVar27 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0xc)" ( (binary_expression "(int)puVar27 + -0xc" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)((int)puVar27 + -8)" * (cast_expression "(uint *)((int)puVar27 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -8)" ( (binary_expression "(int)puVar27 + -8" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar27 + -4)" * (cast_expression "(char **)((int)puVar27 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -4)" ( (binary_expression "(int)puVar27 + -4" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001bad2:\n    *(char **)(puVar18 + -4) = "Failed to join a thread.\n";" statement_identifier : (expression_statement "*(char **)(puVar18 + -4) = "Failed to join a thread.\n";" (assignment_expression "*(char **)(puVar18 + -4) = "Failed to join a thread.\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 join a thread.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x1af7;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x1af7" (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 "puVar26 = puVar18 + -0x10;" (assignment_expression "puVar26 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "*(void **)(puVar18 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar18 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1baf1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1baf1" (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 "(*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4));" (call_expression "(*mhd_panic)(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc),*(uint *)(puVar18 + -8),\n                 *(char **)(puVar18 + -4))" ( (pointer_expression "*(void **)(puVar18 + -0x10)" * (cast_expression "(void **)(puVar18 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (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) )))) , (pointer_expression "*(uint *)(puVar18 + -8)" * (cast_expression "(uint *)(puVar18 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) , (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) )))) ))) ;) (labeled_statement "LAB_0001baf1:\n    *(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";" statement_identifier : (expression_statement "*(char **)(puVar26 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)(puVar26 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar26 + -8) = 0x1b2f;" (assignment_expression "*(undefined4 *)(puVar26 + -8) = 0x1b2f" (pointer_expression "*(undefined4 *)(puVar26 + -8)" * (cast_expression "(undefined4 *)(puVar26 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar26 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar26 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar26 + -0xc)" * (cast_expression "(char **)(puVar26 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar27 = (undefined4 *)(puVar26 + -0x10);" (assignment_expression "puVar27 = (undefined4 *)(puVar26 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar26 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(void **)(puVar26 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar26 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar26 + -0x10)" * (cast_expression "(void **)(puVar26 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x14) = 0x1bb10;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1bb10" (pointer_expression "*(undefined4 *)(puVar26 + -0x14)" * (cast_expression "(undefined4 *)(puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));" (call_expression "(*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4))" ( (pointer_expression "*(void **)(puVar26 + -0x10)" * (cast_expression "(void **)(puVar26 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -0xc)" * (cast_expression "(char **)(puVar26 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar26 + -8)" * (cast_expression "(uint *)(puVar26 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar26 + -4)" * (cast_expression "(char **)(puVar26 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = daemon->worker_pool_size;\n    puStack_20 = (uint64_t *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(pMVar10);\n    puVar27 = (undefined4 *)auStack_2c;\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\nLAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar27 + -0x10));\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    puVar26 = (undefined1 *)puVar27;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }\n  }" else (compound_statement "{\n    if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = daemon->worker_pool_size;\n    puStack_20 = (uint64_t *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(pMVar10);\n    puVar27 = (undefined4 *)auStack_2c;\n    if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }\nLAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar27 + -0x10));\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    puVar26 = (undefined1 *)puVar27;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));\n    if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }\n  }" { (if_statement "if (pMVar10 == (MHD_Daemon *)0x0) {\n      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\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      if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;\n      puVar9 = (uint64_t *)(daemon->itc).fd;\n      puStack_20 = puVar9;\n      if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (uint64_t *)0xffffffff;\n      puVar18 = auStack_2c;\n      goto LAB_0001ba20;\n    }" { (if_statement "if ((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) goto LAB_0001ba70;" if (parenthesized_expression "((daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "daemon->options & MHD_USE_INTERNAL_POLLING_THREAD" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) )) (goto_statement "goto LAB_0001ba70;" goto statement_identifier ;)) (expression_statement "puVar9 = (uint64_t *)(daemon->itc).fd;" (assignment_expression "puVar9 = (uint64_t *)(daemon->itc).fd" identifier = (cast_expression "(uint64_t *)(daemon->itc).fd" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "(daemon->itc).fd" (parenthesized_expression "(daemon->itc)" ( (field_expression "daemon->itc" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "puStack_20 = puVar9;" (assignment_expression "puStack_20 = puVar9" identifier = identifier) ;) (if_statement "if (puVar9 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;" if (parenthesized_expression "(puVar9 == (uint64_t *)0xffffffff)" ( (binary_expression "puVar9 == (uint64_t *)0xffffffff" identifier == (cast_expression "(uint64_t *)0xffffffff" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001b8f8;" goto statement_identifier ;)) (expression_statement "puStack_20 = (uint64_t *)0xffffffff;" (assignment_expression "puStack_20 = (uint64_t *)0xffffffff" identifier = (cast_expression "(uint64_t *)0xffffffff" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar18 = auStack_2c;" (assignment_expression "puVar18 = auStack_2c" identifier = identifier) ;) (goto_statement "goto LAB_0001ba20;" goto statement_identifier ;) })) (expression_statement "unaff_EBP = daemon->worker_pool_size;" (assignment_expression "unaff_EBP = daemon->worker_pool_size" identifier = (field_expression "daemon->worker_pool_size" identifier -> field_identifier)) ;) (expression_statement "puStack_20 = (uint64_t *)0xffffffff;" (assignment_expression "puStack_20 = (uint64_t *)0xffffffff" identifier = (cast_expression "(uint64_t *)0xffffffff" ( (type_descriptor "uint64_t *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (unaff_EBP != 0) goto LAB_0001b747;" if (parenthesized_expression "(unaff_EBP != 0)" ( (binary_expression "unaff_EBP != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b747;" goto statement_identifier ;)) (labeled_statement "LAB_0001b8ba:\n    free(pMVar10);" statement_identifier : (expression_statement "free(pMVar10);" (call_expression "free(pMVar10)" identifier (argument_list "(pMVar10)" ( identifier ))) ;)) (expression_statement "puVar27 = (undefined4 *)auStack_2c;" (assignment_expression "puVar27 = (undefined4 *)auStack_2c" identifier = (cast_expression "(undefined4 *)auStack_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (daemon->master != (MHD_Daemon *)0x0) {\n      return;\n    }" if (parenthesized_expression "(daemon->master != (MHD_Daemon *)0x0)" ( (binary_expression "daemon->master != (MHD_Daemon *)0x0" (field_expression "daemon->master" identifier -> field_identifier) != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_0001b84b:\n    *(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;" statement_identifier : (expression_statement "*(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc;" (assignment_expression "*(MHD_NonceNc **)((int)puVar27 + -0x10) = daemon->nnc" (pointer_expression "*(MHD_NonceNc **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_NonceNc **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_NonceNc **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "daemon->nnc" identifier -> field_identifier)) ;)) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b859;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b859" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar27 + -0x10));" (call_expression "free(*(void **)((int)puVar27 + -0x10))" identifier (argument_list "(*(void **)((int)puVar27 + -0x10))" ( (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock;" (assignment_expression "*(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->nnc_lock" (pointer_expression "*(MHD_mutex_ **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&daemon->nnc_lock" & (field_expression "daemon->nnc_lock" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b867;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b867" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar27 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar27 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar27 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar26 = (undefined1 *)puVar27;" (assignment_expression "puVar26 = (undefined1 *)puVar27" identifier = (cast_expression "(undefined1 *)puVar27" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_0001baf1;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001baf1;" goto statement_identifier ;)) (expression_statement "*(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar27 + -0x10) = &daemon->per_ip_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&daemon->per_ip_connection_mutex" & (field_expression "daemon->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b881;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b881" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar27 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar27 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar27 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar27 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) {\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      *(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;\n      *(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar27 + -0x10));\n      return;\n    }" { (expression_statement "*(MHD_Daemon **)((int)puVar27 + -0x10) = daemon;" (assignment_expression "*(MHD_Daemon **)((int)puVar27 + -0x10) = daemon" (pointer_expression "*(MHD_Daemon **)((int)puVar27 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar27 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b895;" (assignment_expression "*(undefined4 *)((int)puVar27 + -0x14) = 0x1b895" (pointer_expression "*(undefined4 *)((int)puVar27 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar27 + -0x14)" ( (binary_expression "(int)puVar27 + -0x14" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar27 + -0x10));" (call_expression "free(*(void **)((int)puVar27 + -0x10))" identifier (argument_list "(*(void **)((int)puVar27 + -0x10))" ( (pointer_expression "*(void **)((int)puVar27 + -0x10)" * (cast_expression "(void **)((int)puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar27 + -0x10)" ( (binary_expression "(int)puVar27 + -0x10" (cast_expression "(int)puVar27" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "puVar27[-1] = "Failed to destroy mutex.\n";" (assignment_expression "puVar27[-1] = "Failed to destroy mutex.\n"" (subscript_expression "puVar27[-1]" identifier [ number_literal ]) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar27[-2] = 0x1b33;" (assignment_expression "puVar27[-2] = 0x1b33" (subscript_expression "puVar27[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-3] = "daemon.c";" (assignment_expression "puVar27[-3] = "daemon.c"" (subscript_expression "puVar27[-3]" identifier [ number_literal ]) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar27[-4] = mhd_panic_cls;" (assignment_expression "puVar27[-4] = mhd_panic_cls" (subscript_expression "puVar27[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar27[-5] = 0x1bb2f;" (assignment_expression "puVar27[-5] = 0x1bb2f" (subscript_expression "puVar27[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*mhd_panic)((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1]);" (call_expression "(*mhd_panic)((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1])" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "((void *)puVar27[-4],(char *)puVar27[-3],puVar27[-2],(char *)puVar27[-1])" ( (cast_expression "(void *)puVar27[-4]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-4]" identifier [ number_literal ])) , (cast_expression "(char *)puVar27[-3]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-3]" identifier [ number_literal ])) , (subscript_expression "puVar27[-2]" identifier [ number_literal ]) , (cast_expression "(char *)puVar27[-1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-1]" identifier [ number_literal ])) ))) ;) (expression_statement "puVar27[-5] = unaff_EBP;" (assignment_expression "puVar27[-5] = unaff_EBP" (subscript_expression "puVar27[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar27[-6] = unaff_EDI;" (assignment_expression "puVar27[-6] = unaff_EDI" (subscript_expression "puVar27[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar27[-7] = daemon;" (assignment_expression "puVar27[-7] = daemon" (subscript_expression "puVar27[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar27[-8] = 0x30000;" (assignment_expression "puVar27[-8] = 0x30000" (subscript_expression "puVar27[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-9] = 0x1bb39;" (assignment_expression "puVar27[-9] = 0x1bb39" (subscript_expression "puVar27[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = puVar27[-9];" (assignment_expression "iVar8 = puVar27[-9]" identifier = (subscript_expression "puVar27[-9]" identifier [ number_literal ])) ;) (expression_statement "pMVar28 = (MHD_mutex_ *)puVar27[-3];" (assignment_expression "pMVar28 = (MHD_mutex_ *)puVar27[-3]" identifier = (cast_expression "(MHD_mutex_ *)puVar27[-3]" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-3]" identifier [ number_literal ]))) ;) (expression_statement "p_Var17 = (MHD_AccessHandlerCallback)puVar27[1];" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)puVar27[1]" identifier = (cast_expression "(MHD_AccessHandlerCallback)puVar27[1]" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) (subscript_expression "puVar27[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar27[-0x3b] = 1;" (assignment_expression "puVar27[-0x3b] = 1" (subscript_expression "puVar27[-0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-0x44] = puVar27[-2];" (assignment_expression "puVar27[-0x44] = puVar27[-2]" (subscript_expression "puVar27[-0x44]" identifier [ number_literal ]) = (subscript_expression "puVar27[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0x3a] = 0;" (assignment_expression "puVar27[-0x3a] = 0" (subscript_expression "puVar27[-0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-0x43] = puVar27[-1];" (assignment_expression "puVar27[-0x43] = puVar27[-1]" (subscript_expression "puVar27[-0x43]" identifier [ number_literal ]) = (subscript_expression "puVar27[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0x42] = puVar27[2];" (assignment_expression "puVar27[-0x42] = puVar27[2]" (subscript_expression "puVar27[-0x42]" identifier [ number_literal ]) = (subscript_expression "puVar27[2]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "puVar27[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar27[-0xc]" 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 "puVar27[-0x3f] = (uint)pMVar28 & 2;" (assignment_expression "puVar27[-0x3f] = (uint)pMVar28 & 2" (subscript_expression "puVar27[-0x3f]" identifier [ number_literal ]) = (binary_expression "(uint)pMVar28 & 2" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "puVar25 = puVar27 + -0x47;" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (if_statement "if (((uint)pMVar28 & 2) != 0) goto LAB_0001bf79;" if (parenthesized_expression "(((uint)pMVar28 & 2) != 0)" ( (binary_expression "((uint)pMVar28 & 2) != 0" (parenthesized_expression "((uint)pMVar28 & 2)" ( (binary_expression "(uint)pMVar28 & 2" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (if_statement "if (((uint)pMVar28 & 0x8000) != 0) {\n    pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);\n  }" if (parenthesized_expression "(((uint)pMVar28 & 0x8000) != 0)" ( (binary_expression "((uint)pMVar28 & 0x8000) != 0" (parenthesized_expression "((uint)pMVar28 & 0x8000)" ( (binary_expression "(uint)pMVar28 & 0x8000" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);\n  }" { (expression_statement "pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400);" (assignment_expression "pMVar28 = (MHD_mutex_ *)((uint)pMVar28 | 0x2400)" identifier = (cast_expression "(MHD_mutex_ *)((uint)pMVar28 | 0x2400)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pMVar28 | 0x2400)" ( (binary_expression "(uint)pMVar28 | 0x2400" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (expression_statement "puVar25 = puVar27 + -0x47;" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (if_statement "if (((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||\n     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))) goto LAB_0001bf79;" if (parenthesized_expression "(((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||\n     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40))))" ( (binary_expression "((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)) ||\n     ((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))" (parenthesized_expression "((p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240))" ( (binary_expression "(p_Var17 == (MHD_AccessHandlerCallback)0x0) ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)" (parenthesized_expression "(p_Var17 == (MHD_AccessHandlerCallback)0x0)" ( (binary_expression "p_Var17 == (MHD_AccessHandlerCallback)0x0" identifier == (cast_expression "(MHD_AccessHandlerCallback)0x0" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) )) || (parenthesized_expression "(puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240)" ( (comma_expression "puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x240) == 0x240" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) , (binary_expression "((uint)pMVar28 & 0x240) == 0x240" (parenthesized_expression "((uint)pMVar28 & 0x240)" ( (binary_expression "(uint)pMVar28 & 0x240" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal)) ))) )) || (parenthesized_expression "((puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)))" ( (parenthesized_expression "(puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40))" ( (comma_expression "puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) , (binary_expression "((uint)pMVar28 & 0x204) == 0x204 ||\n      (puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)" (binary_expression "((uint)pMVar28 & 0x204) == 0x204" (parenthesized_expression "((uint)pMVar28 & 0x204)" ( (binary_expression "(uint)pMVar28 & 0x204" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) || (parenthesized_expression "(puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40)" ( (comma_expression "puVar25 = puVar27 + -0x47, ((uint)pMVar28 & 0x4c) == 0x40" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) , (binary_expression "((uint)pMVar28 & 0x4c) == 0x40" (parenthesized_expression "((uint)pMVar28 & 0x4c)" ( (binary_expression "(uint)pMVar28 & 0x4c" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal)) )))) )) ))) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "pMVar29 = pMVar28;" (assignment_expression "pMVar29 = pMVar28" identifier = identifier) ;) (if_statement "if (((uint)pMVar28 & 0x10000) != 0) {\n    puVar25 = puVar27 + -0x47;\n    if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);\n    if (((uint)pMVar28 & 4) == 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }\n  }" if (parenthesized_expression "(((uint)pMVar28 & 0x10000) != 0)" ( (binary_expression "((uint)pMVar28 & 0x10000) != 0" (parenthesized_expression "((uint)pMVar28 & 0x10000)" ( (binary_expression "(uint)pMVar28 & 0x10000" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    puVar25 = puVar27 + -0x47;\n    if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);\n    if (((uint)pMVar28 & 4) == 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }\n  }" { (expression_statement "puVar25 = puVar27 + -0x47;" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (if_statement "if (((uint)pMVar28 & 0x240) != 0) goto LAB_0001bf79;" if (parenthesized_expression "(((uint)pMVar28 & 0x240) != 0)" ( (binary_expression "((uint)pMVar28 & 0x240) != 0" (parenthesized_expression "((uint)pMVar28 & 0x240)" ( (binary_expression "(uint)pMVar28 & 0x240" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x40)" identifier = (cast_expression "(MHD_mutex_ *)((uint)pMVar28 | 0x40)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pMVar28 | 0x40)" ( (binary_expression "(uint)pMVar28 | 0x40" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (if_statement "if (((uint)pMVar28 & 4) == 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }" if (parenthesized_expression "(((uint)pMVar28 & 4) == 0)" ( (binary_expression "((uint)pMVar28 & 4) == 0" (parenthesized_expression "((uint)pMVar28 & 4)" ( (binary_expression "(uint)pMVar28 & 4" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);\n    }" { (expression_statement "pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((uint)pMVar28 | 0x200)" identifier = (cast_expression "(MHD_mutex_ *)((uint)pMVar28 | 0x200)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pMVar28 | 0x200)" ( (binary_expression "(uint)pMVar28 | 0x200" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) })) (expression_statement "puVar27[-0x40] = puVar27[3];" (assignment_expression "puVar27[-0x40] = puVar27[3]" (subscript_expression "puVar27[-0x40]" identifier [ number_literal ]) = (subscript_expression "puVar27[3]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0x41] = *puVar27;" (assignment_expression "puVar27[-0x41] = *puVar27" (subscript_expression "puVar27[-0x41]" identifier [ number_literal ]) = (pointer_expression "*puVar27" * identifier)) ;) (expression_statement "puVar27[-0x4a] = 0x130;" (assignment_expression "puVar27[-0x4a] = 0x130" (subscript_expression "puVar27[-0x4a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-0x4b] = 1;" (assignment_expression "puVar27[-0x4b] = 1" (subscript_expression "puVar27[-0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-0x4c] = 0x1bc1d;" (assignment_expression "puVar27[-0x4c] = 0x1bc1d" (subscript_expression "puVar27[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pMVar10 = (MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a]);" (assignment_expression "pMVar10 = (MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a])" identifier = (cast_expression "(MHD_Daemon *)calloc(puVar27[-0x4b],puVar27[-0x4a])" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(puVar27[-0x4b],puVar27[-0x4a])" identifier (argument_list "(puVar27[-0x4b],puVar27[-0x4a])" ( (subscript_expression "puVar27[-0x4b]" identifier [ number_literal ]) , (subscript_expression "puVar27[-0x4a]" identifier [ number_literal ]) ))))) ;) (expression_statement "puVar25 = puVar27 + -0x47;" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (if_statement "if (pMVar10 == (MHD_Daemon *)0x0) goto LAB_0001bf79;" 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)) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "pMVar10->epoll_fd = -1;" (assignment_expression "pMVar10->epoll_fd = -1" (field_expression "pMVar10->epoll_fd" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->listen_fd = -1;" (assignment_expression "pMVar10->listen_fd = -1" (field_expression "pMVar10->listen_fd" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->listening_address_reuse = 0;" (assignment_expression "pMVar10->listening_address_reuse = 0" (field_expression "pMVar10->listening_address_reuse" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->options = (MHD_FLAG)pMVar29;" (assignment_expression "pMVar10->options = (MHD_FLAG)pMVar29" (field_expression "pMVar10->options" identifier -> field_identifier) = (cast_expression "(MHD_FLAG)pMVar29" ( (type_descriptor "MHD_FLAG" type_identifier) ) identifier)) ;) (expression_statement "pvVar3 = (void *)puVar27[-0x41];" (assignment_expression "pvVar3 = (void *)puVar27[-0x41]" identifier = (cast_expression "(void *)puVar27[-0x41]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-0x41]" identifier [ number_literal ]))) ;) (expression_statement "pMVar10->default_handler = p_Var17;" (assignment_expression "pMVar10->default_handler = p_Var17" (field_expression "pMVar10->default_handler" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar10->connections = 0;" (assignment_expression "pMVar10->connections = 0" (field_expression "pMVar10->connections" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->connection_limit = 0x3fc;" (assignment_expression "pMVar10->connection_limit = 0x3fc" (field_expression "pMVar10->connection_limit" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->strict_for_client = (uint)pMVar29 >> 5 & 1;" (assignment_expression "pMVar10->strict_for_client = (uint)pMVar29 >> 5 & 1" (field_expression "pMVar10->strict_for_client" identifier -> field_identifier) = (binary_expression "(uint)pMVar29 >> 5 & 1" (binary_expression "(uint)pMVar29 >> 5" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) ;) (expression_statement "uVar1 = *(uint16_t *)(puVar27 + -0x44);" (assignment_expression "uVar1 = *(uint16_t *)(puVar27 + -0x44)" identifier = (pointer_expression "*(uint16_t *)(puVar27 + -0x44)" * (cast_expression "(uint16_t *)(puVar27 + -0x44)" ( (type_descriptor "uint16_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x44)" ( (binary_expression "puVar27 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "pMVar10->apc_cls = pvVar3;" (assignment_expression "pMVar10->apc_cls = pvVar3" (field_expression "pMVar10->apc_cls" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar10->pool_size = 0x8000;" (assignment_expression "pMVar10->pool_size = 0x8000" (field_expression "pMVar10->pool_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->pool_increment = 0x400;" (assignment_expression "pMVar10->pool_increment = 0x400" (field_expression "pMVar10->pool_increment" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->connection_timeout = 0;" (assignment_expression "pMVar10->connection_timeout = 0" (field_expression "pMVar10->connection_timeout" identifier -> field_identifier) = number_literal) ;) (expression_statement "(pMVar10->itc).fd = -1;" (assignment_expression "(pMVar10->itc).fd = -1" (field_expression "(pMVar10->itc).fd" (parenthesized_expression "(pMVar10->itc)" ( (field_expression "pMVar10->itc" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pMVar10->listen_backlog_size = 0x80;" (assignment_expression "pMVar10->listen_backlog_size = 0x80" (field_expression "pMVar10->listen_backlog_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->port = uVar1;" (assignment_expression "pMVar10->port = uVar1" (field_expression "pMVar10->port" identifier -> field_identifier) = identifier) ;) (expression_statement "ap = (va_list)puVar27[-0x40];" (assignment_expression "ap = (va_list)puVar27[-0x40]" identifier = (cast_expression "(va_list)puVar27[-0x40]" ( (type_descriptor "va_list" type_identifier) ) (subscript_expression "puVar27[-0x40]" identifier [ number_literal ]))) ;) (expression_statement "pMVar10->apc = (MHD_AcceptPolicyCallback)puVar27[-0x43];" (assignment_expression "pMVar10->apc = (MHD_AcceptPolicyCallback)puVar27[-0x43]" (field_expression "pMVar10->apc" identifier -> field_identifier) = (cast_expression "(MHD_AcceptPolicyCallback)puVar27[-0x43]" ( (type_descriptor "MHD_AcceptPolicyCallback" type_identifier) ) (subscript_expression "puVar27[-0x43]" identifier [ number_literal ]))) ;) (expression_statement "pMVar10->default_handler_cls = (void *)puVar27[-0x42];" (assignment_expression "pMVar10->default_handler_cls = (void *)puVar27[-0x42]" (field_expression "pMVar10->default_handler_cls" identifier -> field_identifier) = (cast_expression "(void *)puVar27[-0x42]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-0x42]" identifier [ number_literal ]))) ;) (expression_statement "pMVar10->unescape_callback = (UnescapeCallback)(iVar8 + -0x43b9);" (assignment_expression "pMVar10->unescape_callback = (UnescapeCallback)(iVar8 + -0x43b9)" (field_expression "pMVar10->unescape_callback" identifier -> field_identifier) = (call_expression "(UnescapeCallback)(iVar8 + -0x43b9)" (parenthesized_expression "(UnescapeCallback)" ( identifier )) (argument_list "(iVar8 + -0x43b9)" ( (binary_expression "iVar8 + -0x43b9" identifier + number_literal) )))) ;) (expression_statement "pMVar10->custom_error_log = (MHD_LogCallback)(iVar8 + -0x43e9);" (assignment_expression "pMVar10->custom_error_log = (MHD_LogCallback)(iVar8 + -0x43e9)" (field_expression "pMVar10->custom_error_log" identifier -> field_identifier) = (call_expression "(MHD_LogCallback)(iVar8 + -0x43e9)" (parenthesized_expression "(MHD_LogCallback)" ( identifier )) (argument_list "(iVar8 + -0x43e9)" ( (binary_expression "iVar8 + -0x43e9" identifier + number_literal) )))) ;) (expression_statement "pMVar10->custom_error_log_cls = (void *)**(undefined4 **)(iVar8 + 0x14497);" (assignment_expression "pMVar10->custom_error_log_cls = (void *)**(undefined4 **)(iVar8 + 0x14497)" (field_expression "pMVar10->custom_error_log_cls" identifier -> field_identifier) = (cast_expression "(void *)**(undefined4 **)(iVar8 + 0x14497)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(iVar8 + 0x14497)" * (pointer_expression "*(undefined4 **)(iVar8 + 0x14497)" * (cast_expression "(undefined4 **)(iVar8 + 0x14497)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14497)" ( (binary_expression "iVar8 + 0x14497" identifier + number_literal) ))))))) ;) (if_statement "if (((uint)pMVar29 & 0xc) == 4) {\n    puVar27[-0x43] = ap;\n    puVar27[-0x4a] = iVar8 + 0xbff7;\n    puVar27[-0x4b] = pMVar10;\n    puVar27[-0x4c] = 0x1bebc;\n    MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);\n    ap = (va_list)puVar27[-0x43];\n    pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);\n    pMVar10->options = (MHD_FLAG)pMVar29;\nLAB_0001bed2:\n    if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }\n  }\n  else {\n    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);\n    pMVar10->options = (MHD_FLAG)pMVar29;\n  }" if (parenthesized_expression "(((uint)pMVar29 & 0xc) == 4)" ( (binary_expression "((uint)pMVar29 & 0xc) == 4" (parenthesized_expression "((uint)pMVar29 & 0xc)" ( (binary_expression "(uint)pMVar29 & 0xc" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    puVar27[-0x43] = ap;\n    puVar27[-0x4a] = iVar8 + 0xbff7;\n    puVar27[-0x4b] = pMVar10;\n    puVar27[-0x4c] = 0x1bebc;\n    MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);\n    ap = (va_list)puVar27[-0x43];\n    pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);\n    pMVar10->options = (MHD_FLAG)pMVar29;\nLAB_0001bed2:\n    if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }\n  }" { (expression_statement "puVar27[-0x43] = ap;" (assignment_expression "puVar27[-0x43] = ap" (subscript_expression "puVar27[-0x43]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar27[-0x4a] = iVar8 + 0xbff7;" (assignment_expression "puVar27[-0x4a] = iVar8 + 0xbff7" (subscript_expression "puVar27[-0x4a]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xbff7" identifier + number_literal)) ;) (expression_statement "puVar27[-0x4b] = pMVar10;" (assignment_expression "puVar27[-0x4b] = pMVar10" (subscript_expression "puVar27[-0x4b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar27[-0x4c] = 0x1bebc;" (assignment_expression "puVar27[-0x4c] = 0x1bebc" (subscript_expression "puVar27[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a]);" (call_expression "MHD_DLOG((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a])" identifier (argument_list "((MHD_Daemon *)puVar27[-0x4b],(char *)puVar27[-0x4a])" ( (cast_expression "(MHD_Daemon *)puVar27[-0x4b]" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-0x4b]" identifier [ number_literal ])) , (cast_expression "(char *)puVar27[-0x4a]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-0x4a]" identifier [ number_literal ])) ))) ;) (expression_statement "ap = (va_list)puVar27[-0x43];" (assignment_expression "ap = (va_list)puVar27[-0x43]" identifier = (cast_expression "(va_list)puVar27[-0x43]" ( (type_descriptor "va_list" type_identifier) ) (subscript_expression "puVar27[-0x43]" identifier [ number_literal ]))) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD);" (assignment_expression "pMVar29 = (MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD)" identifier = (cast_expression "(MHD_mutex_ *)(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "pMVar10->options | MHD_USE_INTERNAL_POLLING_THREAD" (field_expression "pMVar10->options" identifier -> field_identifier) | identifier) )))) ;) (expression_statement "pMVar10->options = (MHD_FLAG)pMVar29;" (assignment_expression "pMVar10->options = (MHD_FLAG)pMVar29" (field_expression "pMVar10->options" identifier -> field_identifier) = (cast_expression "(MHD_FLAG)pMVar29" ( (type_descriptor "MHD_FLAG" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0001bed2:\n    if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }" statement_identifier : (if_statement "if (((uint)pMVar29 & 0x100) != 0) {\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }" if (parenthesized_expression "(((uint)pMVar29 & 0x100) != 0)" ( (binary_expression "((uint)pMVar29 & 0x100) != 0" (parenthesized_expression "((uint)pMVar29 & 0x100)" ( (binary_expression "(uint)pMVar29 & 0x100" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);\n      pMVar10->options = (MHD_FLAG)pMVar29;\n    }" { (expression_statement "pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((uint)pMVar29 | 0x400)" identifier = (cast_expression "(MHD_mutex_ *)((uint)pMVar29 | 0x400)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pMVar29 | 0x400)" ( (binary_expression "(uint)pMVar29 | 0x400" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "pMVar10->options = (MHD_FLAG)pMVar29;" (assignment_expression "pMVar10->options = (MHD_FLAG)pMVar29" (field_expression "pMVar10->options" identifier -> field_identifier) = (cast_expression "(MHD_FLAG)pMVar29" ( (type_descriptor "MHD_FLAG" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);\n    pMVar10->options = (MHD_FLAG)pMVar29;\n  }" else (compound_statement "{\n    if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;\n    pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);\n    pMVar10->options = (MHD_FLAG)pMVar29;\n  }" { (if_statement "if (((uint)pMVar29 & 8) != 0) goto LAB_0001bed2;" if (parenthesized_expression "(((uint)pMVar29 & 8) != 0)" ( (binary_expression "((uint)pMVar29 & 8) != 0" (parenthesized_expression "((uint)pMVar29 & 8)" ( (binary_expression "(uint)pMVar29 & 8" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bed2;" goto statement_identifier ;)) (expression_statement "pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff)" identifier = (cast_expression "(MHD_mutex_ *)((uint)pMVar29 & 0xfffffbff)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)pMVar29 & 0xfffffbff)" ( (binary_expression "(uint)pMVar29 & 0xfffffbff" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "pMVar10->options = (MHD_FLAG)pMVar29;" (assignment_expression "pMVar10->options = (MHD_FLAG)pMVar29" (field_expression "pMVar10->options" identifier -> field_identifier) = (cast_expression "(MHD_FLAG)pMVar29" ( (type_descriptor "MHD_FLAG" type_identifier) ) identifier)) ;) }))) (expression_statement "puVar23 = puVar27 + -0x47;" (assignment_expression "puVar23 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar27 + -0x47;" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (expression_statement "pMVar10->digest_auth_rand_size = 0;" (assignment_expression "pMVar10->digest_auth_rand_size = 0" (field_expression "pMVar10->digest_auth_rand_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar10->digest_auth_random = (char *)0x0;" (assignment_expression "pMVar10->digest_auth_random = (char *)0x0" (field_expression "pMVar10->digest_auth_random" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pMVar10->nonce_nc_size = 4;" (assignment_expression "pMVar10->nonce_nc_size = 4" (field_expression "pMVar10->nonce_nc_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "puVar27[-0x48] = 0x1bd33;" (assignment_expression "puVar27[-0x48] = 0x1bd33" (subscript_expression "puVar27[-0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "MVar11 = parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap);" (assignment_expression "MVar11 = parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap)" identifier = (call_expression "parse_options_va(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap)" identifier (argument_list "(pMVar10,(sockaddr **)(puVar27 + -0x3a),ap)" ( identifier , (cast_expression "(sockaddr **)(puVar27 + -0x3a)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x3a)" ( (binary_expression "puVar27 + -0x3a" identifier + number_literal) ))) , identifier )))) ;) (expression_statement "puVar22 = puVar27 + -0x47;" (assignment_expression "puVar22 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (if_statement "if (MVar11 == MHD_YES) {\n    MVar14 = pMVar10->options;\n    if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }\n    else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }\n    puVar25 = puVar27 + -0x47;\n    if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n    uVar7 = pMVar10->nonce_nc_size;\n    if (uVar7 != 0) {\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }\n    *(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) {\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;\n    free(*(void **)((int)puVar25 + -0x10));\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;\n    free(*(void **)((int)puVar25 + -0x10));\n    goto LAB_0001bf79;\n  }" if (parenthesized_expression "(MVar11 == MHD_YES)" ( (binary_expression "MVar11 == MHD_YES" identifier == identifier) )) (compound_statement "{\n    MVar14 = pMVar10->options;\n    if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }\n    else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }\n    puVar25 = puVar27 + -0x47;\n    if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n    uVar7 = pMVar10->nonce_nc_size;\n    if (uVar7 != 0) {\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }\n    *(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) {\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;\n    free(*(void **)((int)puVar25 + -0x10));\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;\n    free(*(void **)((int)puVar25 + -0x10));\n    goto LAB_0001bf79;\n  }" { (expression_statement "MVar14 = pMVar10->options;" (assignment_expression "MVar14 = pMVar10->options" identifier = (field_expression "pMVar10->options" identifier -> field_identifier)) ;) (if_statement "if ((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)) {\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }\n    else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }" if (parenthesized_expression "((pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG))" ( (binary_expression "(pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0) ||\n       ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" (parenthesized_expression "(pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0)" ( (binary_expression "pMVar10->notify_completed == (MHD_RequestCompletedCallback)0x0" (field_expression "pMVar10->notify_completed" identifier -> field_identifier) == (cast_expression "(MHD_RequestCompletedCallback)0x0" ( (type_descriptor "MHD_RequestCompletedCallback" type_identifier) ) number_literal)) )) || (parenthesized_expression "((MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MVar14 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) == identifier) ))) )) (compound_statement "{\n      if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;\n    }" { (if_statement "if ((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG) goto LAB_0001bd6c;" if (parenthesized_expression "((MVar14 & MHD_USE_ITC) == MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_ITC) == MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_ITC)" ( (binary_expression "MVar14 & MHD_USE_ITC" identifier & identifier) )) == identifier) )) (goto_statement "goto LAB_0001bd6c;" goto statement_identifier ;)) }) (else_clause "else {\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }" else (compound_statement "{\n      pMVar10->options = MVar14 | MHD_USE_ITC;\n    }" { (expression_statement "pMVar10->options = MVar14 | MHD_USE_ITC;" (assignment_expression "pMVar10->options = MVar14 | MHD_USE_ITC" (field_expression "pMVar10->options" identifier -> field_identifier) = (binary_expression "MVar14 | MHD_USE_ITC" identifier | identifier)) ;) }))) (expression_statement "puVar25 = puVar27 + -0x47;" (assignment_expression "puVar25 = puVar27 + -0x47" identifier = (binary_expression "puVar27 + -0x47" identifier + number_literal)) ;) (if_statement "if (pMVar10->worker_pool_size == 0) goto LAB_0001c310;" if (parenthesized_expression "(pMVar10->worker_pool_size == 0)" ( (binary_expression "pMVar10->worker_pool_size == 0" (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier) == number_literal) )) (goto_statement "goto LAB_0001c310;" goto statement_identifier ;)) (labeled_statement "LAB_0001bd6c:\n    uVar7 = pMVar10->nonce_nc_size;" statement_identifier : (expression_statement "uVar7 = pMVar10->nonce_nc_size;" (assignment_expression "uVar7 = pMVar10->nonce_nc_size" identifier = (field_expression "pMVar10->nonce_nc_size" identifier -> field_identifier)) ;)) (if_statement "if (uVar7 != 0) {\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);\n      if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;\n      pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));\n      pMVar10->nnc = pMVar12;\n      if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }\n    }" { (expression_statement "pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94);" (assignment_expression "pMVar29 = (MHD_mutex_ *)(uVar7 * 0x94)" identifier = (cast_expression "(MHD_mutex_ *)(uVar7 * 0x94)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 * 0x94)" ( (binary_expression "uVar7 * 0x94" identifier * number_literal) )))) ;) (if_statement "if (uVar7 != (uint)pMVar29 / 0x94) goto LAB_0001c3a0;" if (parenthesized_expression "(uVar7 != (uint)pMVar29 / 0x94)" ( (binary_expression "uVar7 != (uint)pMVar29 / 0x94" identifier != (binary_expression "(uint)pMVar29 / 0x94" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) / number_literal)) )) (goto_statement "goto LAB_0001c3a0;" goto statement_identifier ;)) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bd9c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10));" (assignment_expression "pMVar12 = (MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10))" identifier = (cast_expression "(MHD_NonceNc *)malloc(*(size_t *)((int)puVar25 + -0x10))" ( (type_descriptor "MHD_NonceNc *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(*(size_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar25 + -0x10)" * (cast_expression "(size_t *)((int)puVar25 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "pMVar10->nnc = pMVar12;" (assignment_expression "pMVar10->nnc = pMVar12" (field_expression "pMVar10->nnc" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar12 == (MHD_NonceNc *)0x0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }" if (parenthesized_expression "(pMVar12 == (MHD_NonceNc *)0x0)" ( (binary_expression "pMVar12 == (MHD_NonceNc *)0x0" identifier == (cast_expression "(MHD_NonceNc *)0x0" ( (type_descriptor "MHD_NonceNc *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb57;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar25 + -8);\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc17b;\n        goto LAB_0001c3a9;\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cb57;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cb57" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb61" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar24 = (undefined1 *)((int)puVar25 + -8);" (assignment_expression "puVar24 = (undefined1 *)((int)puVar25 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar25 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 0xc17b;" (assignment_expression "iVar8 = iVar8 + 0xc17b" identifier = (binary_expression "iVar8 + 0xc17b" identifier + number_literal)) ;) (goto_statement "goto LAB_0001c3a9;" goto statement_identifier ;) })) })) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + 0x14) = &pMVar10->nnc_lock" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + 0x14)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + 0x14)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x14)" ( (binary_expression "(int)puVar25 + 0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->nnc_lock" & (field_expression "pMVar10->nnc_lock" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->nnc_lock" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->nnc_lock" & (field_expression "pMVar10->nnc_lock" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bdc2" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar25 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar25 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) {\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      MVar14 = pMVar10->options;\n      if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;\n      *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;\n      if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }\n      do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );\n    }" { (expression_statement "MVar14 = pMVar10->options;" (assignment_expression "MVar14 = pMVar10->options" identifier = (field_expression "pMVar10->options" identifier -> field_identifier)) ;) (if_statement "if (((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0))" ( (binary_expression "((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG) &&\n         (pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)" (parenthesized_expression "((MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_INTERNAL_POLLING_THREAD) == MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "MVar14 & MHD_USE_INTERNAL_POLLING_THREAD" identifier & identifier) )) == identifier) )) && (parenthesized_expression "(pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0)" ( (comma_expression "pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size, pMVar29 != (MHD_mutex_ *)0x0" (assignment_expression "pMVar29 = (MHD_mutex_ *)pMVar10->worker_pool_size" identifier = (cast_expression "(MHD_mutex_ *)pMVar10->worker_pool_size" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier))) , (binary_expression "pMVar29 != (MHD_mutex_ *)0x0" identifier != (cast_expression "(MHD_mutex_ *)0x0" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1d7" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc1d7" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf00" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (expression_statement "p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd;" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)pMVar10->listen_fd" identifier = (cast_expression "(MHD_AccessHandlerCallback)pMVar10->listen_fd" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) (field_expression "pMVar10->listen_fd" identifier -> field_identifier))) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17;" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10) = p_Var17" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (p_Var17 == (MHD_AccessHandlerCallback)0xffffffff) goto LAB_0001c078;" if (parenthesized_expression "(p_Var17 == (MHD_AccessHandlerCallback)0xffffffff)" ( (binary_expression "p_Var17 == (MHD_AccessHandlerCallback)0xffffffff" identifier == (cast_expression "(MHD_AccessHandlerCallback)0xffffffff" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_0001c078;" goto statement_identifier ;)) (labeled_statement "LAB_0001bdf8:\n      if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }" statement_identifier : (if_statement "if ((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)) {\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }" if (parenthesized_expression "((pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG))" ( (binary_expression "(pMVar10->port == 0) && ((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)" (parenthesized_expression "(pMVar10->port == 0)" ( (binary_expression "pMVar10->port == 0" (field_expression "pMVar10->port" identifier -> field_identifier) == number_literal) )) && (parenthesized_expression "((pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_NO_LISTEN_SOCKET)" ( (binary_expression "pMVar10->options & MHD_USE_NO_LISTEN_SOCKET" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) == identifier) ))) )) (compound_statement "{\n        *(undefined4 *)((int)puVar25 + 0x38) = 0x80;\n        p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        *(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;\n        iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));\n        if (iVar13 != 0) goto LAB_0001c540;\n        if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + 0x38) = 0x80;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x38) = 0x80" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x38)" ( (binary_expression "(int)puVar25 + 0x38" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c)" identifier = (call_expression "(MHD_AccessHandlerCallback)((int)puVar25 + 0x6c)" (parenthesized_expression "(MHD_AccessHandlerCallback)" ( identifier )) (argument_list "((int)puVar25 + 0x6c)" ( (binary_expression "(int)puVar25 + 0x6c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (for_statement "for (iVar13 = 0x20; iVar13 != 0; iVar13 = iVar13 + -1) {\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }" for ( (assignment_expression "iVar13 = 0x20" identifier = number_literal) ; (binary_expression "iVar13 != 0" identifier != number_literal) ; (assignment_expression "iVar13 = iVar13 + -1" identifier = (binary_expression "iVar13 + -1" identifier + number_literal)) ) (compound_statement "{\n          *(int *)p_Var17 = 0;\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }" { (expression_statement "*(int *)p_Var17 = 0;" (assignment_expression "*(int *)p_Var17 = 0" (pointer_expression "*(int *)p_Var17" * (cast_expression "(int *)p_Var17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;" (assignment_expression "p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4" identifier = (binary_expression "p_Var17 + ((uint)bVar31 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar31 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar31 * -2 + 1)" ( (binary_expression "(uint)bVar31 * -2 + 1" (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) (expression_statement "*(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38);" (assignment_expression "*(undefined1 **)((int)puVar25 + -8) = (undefined1 *)((int)puVar25 + 0x38)" (pointer_expression "*(undefined1 **)((int)puVar25 + -8)" * (cast_expression "(undefined1 **)((int)puVar25 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar25 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x38)" ( (binary_expression "(int)puVar25 + 0x38" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c);" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc) =\n             (MHD_AccessHandlerCallback)((int)puVar25 + 0x6c)" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar25 + -0xc)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (call_expression "(MHD_AccessHandlerCallback)((int)puVar25 + 0x6c)" (parenthesized_expression "(MHD_AccessHandlerCallback)" ( identifier )) (argument_list "((int)puVar25 + 0x6c)" ( (binary_expression "(int)puVar25 + 0x6c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c3ef" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8));" (assignment_expression "iVar13 = getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8))" identifier = (call_expression "getsockname(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                             *(socklen_t **)((int)puVar25 + -8))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar25 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar25 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t **)((int)puVar25 + -8)" * (cast_expression "(socklen_t **)((int)puVar25 + -8)" ( (type_descriptor "socklen_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) goto LAB_0001c540;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c540;" goto statement_identifier ;)) (if_statement "if (*(uint *)((int)puVar25 + 0x38) < 0x81) {\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }\n        else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }" if (parenthesized_expression "(*(uint *)((int)puVar25 + 0x38) < 0x81)" ( (binary_expression "*(uint *)((int)puVar25 + 0x38) < 0x81" (pointer_expression "*(uint *)((int)puVar25 + 0x38)" * (cast_expression "(uint *)((int)puVar25 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x38)" ( (binary_expression "(int)puVar25 + 0x38" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n          sVar2 = *(short *)((int)puVar25 + 0x6c);\n          if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }\n        }" { (expression_statement "sVar2 = *(short *)((int)puVar25 + 0x6c);" (assignment_expression "sVar2 = *(short *)((int)puVar25 + 0x6c)" identifier = (pointer_expression "*(short *)((int)puVar25 + 0x6c)" * (cast_expression "(short *)((int)puVar25 + 0x6c)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x6c)" ( (binary_expression "(int)puVar25 + 0x6c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((sVar2 == 2) || (sVar2 == 10)) {\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }\n          else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }" if (parenthesized_expression "((sVar2 == 2) || (sVar2 == 10))" ( (binary_expression "(sVar2 == 2) || (sVar2 == 10)" (parenthesized_expression "(sVar2 == 2)" ( (binary_expression "sVar2 == 2" identifier == number_literal) )) || (parenthesized_expression "(sVar2 == 10)" ( (binary_expression "sVar2 == 10" identifier == number_literal) ))) )) (compound_statement "{\n            pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;\n          }" { (expression_statement "pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8;" (assignment_expression "pMVar10->port =\n                 *(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8" (field_expression "pMVar10->port" identifier -> field_identifier) = (binary_expression "*(ushort *)((int)puVar25 + 0x6e) >> 8 | *(ushort *)((int)puVar25 + 0x6e) << 8" (binary_expression "*(ushort *)((int)puVar25 + 0x6e) >> 8" (pointer_expression "*(ushort *)((int)puVar25 + 0x6e)" * (cast_expression "(ushort *)((int)puVar25 + 0x6e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x6e)" ( (binary_expression "(int)puVar25 + 0x6e" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar25 + 0x6e) << 8" (pointer_expression "*(ushort *)((int)puVar25 + 0x6e)" * (cast_expression "(ushort *)((int)puVar25 + 0x6e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x6e)" ( (binary_expression "(int)puVar25 + 0x6e" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) }) (else_clause "else if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }" else (if_statement "if (sVar2 == 1) {\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }\n          else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }" if (parenthesized_expression "(sVar2 == 1)" ( (binary_expression "sVar2 == 1" identifier == number_literal) )) (compound_statement "{\n            pMVar29 = (MHD_mutex_ *)0x0;\n            pMVar10->port = 0;\n          }" { (expression_statement "pMVar29 = (MHD_mutex_ *)0x0;" (assignment_expression "pMVar29 = (MHD_mutex_ *)0x0" identifier = (cast_expression "(MHD_mutex_ *)0x0" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pMVar10->port = 0;" (assignment_expression "pMVar10->port = 0" (field_expression "pMVar10->port" identifier -> field_identifier) = number_literal) ;) }) (else_clause "else {\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }" else (compound_statement "{\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar10->port = 0;\n          }" { (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb328" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb328" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c43b" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar10->port = 0;" (assignment_expression "pMVar10->port = 0" (field_expression "pMVar10->port" identifier -> field_identifier) = number_literal) ;) }))))) }) (else_clause "else {\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }" else (compound_statement "{\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        }" { (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc2bb" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc2bb" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c7b8" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }))) }))) (do_statement "do {\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      } while( true );" do (compound_statement "{\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;\n        iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }\n        *(undefined4 *)((int)puVar25 + -4) = 0x400;\n        p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;\n        iVar13 = close(*(int *)((int)puVar25 + -0x10));\n        if (iVar13 == 0) goto LAB_0001bf08;\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c50f;\n        piVar6 = __errno_location();\n        if (*piVar6 != 9) goto LAB_0001bf08;\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n        *(undefined4 *)((int)puVar25 + -8) = 0x18e3;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;\n        (*pcVar4)();\n        puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1be1f" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10))" identifier = (call_expression "MHD_socket_nonblocking_(*(MHD_socket *)((int)puVar25 + -0x10))" identifier (argument_list "(*(MHD_socket *)((int)puVar25 + -0x10))" ( (pointer_expression "*(MHD_socket *)((int)puVar25 + -0x10)" * (cast_expression "(MHD_socket *)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) {\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }\n        else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c455;\n          pMVar29 = (MHD_mutex_ *)__errno_location();\n          *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;\n          pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n          *(char **)((int)puVar25 + -8) = pcVar16;\n          *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;\n          MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n          if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }\n        }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c455;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c455" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)__errno_location();" (assignment_expression "pMVar29 = (MHD_mutex_ *)__errno_location()" identifier = (cast_expression "(MHD_mutex_ *)__errno_location()" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c461;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c461" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc307" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc307" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c472;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c472" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if (((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)) {\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }" if (parenthesized_expression "(((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0))" ( (binary_expression "((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) ||\n             (pMVar10->worker_pool_size != 0)" (parenthesized_expression "((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_EPOLL)" ( (binary_expression "pMVar10->options & MHD_USE_EPOLL" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) != identifier) )) || (parenthesized_expression "(pMVar10->worker_pool_size != 0)" ( (binary_expression "pMVar10->worker_pool_size != 0" (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n            *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }\n            goto LAB_0001bf08;\n          }" { (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c57c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar13 != 0) && ((pMVar29->__data).__lock == 9)) {\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }" if (parenthesized_expression "((iVar13 != 0) && ((pMVar29->__data).__lock == 9))" ( (binary_expression "(iVar13 != 0) && ((pMVar29->__data).__lock == 9)" (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) && (parenthesized_expression "((pMVar29->__data).__lock == 9)" ( (binary_expression "(pMVar29->__data).__lock == 9" (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier) == number_literal) ))) )) (compound_statement "{\n              *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar25 + -8) = 0x18d4;\n              *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n              pcVar4 = *(code **)(iVar8 + 0x14633);\n              *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;\n              (*pcVar4)();\n              puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n              goto LAB_0001c5b0;\n            }" { (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x18d4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x18d4" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c5af" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001c5b0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (if_statement "if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) {\n            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }" if (parenthesized_expression "((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))" ( (binary_expression "(*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" (parenthesized_expression "(*(int *)((int)puVar25 + 0x10) < 0x400)" ( (binary_expression "*(int *)((int)puVar25 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (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            *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0xc) = 0;\n            *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;\n            iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n            if (iVar13 == 0) goto LAB_0001c200;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001c02e;\n          }" { (expression_statement "*(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + 0xc)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + 0xc)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->per_ip_connection_mutex" & (field_expression "pMVar10->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->per_ip_connection_mutex" & (field_expression "pMVar10->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4b8" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                        *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar25 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar25 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001c200;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c200;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4d3" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001c02e;" goto statement_identifier ;) })) }) (else_clause "else {\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }" else (compound_statement "{\n          MVar14 = pMVar10->options;\n          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;\n        }" { (expression_statement "MVar14 = pMVar10->options;" (assignment_expression "MVar14 = pMVar10->options" identifier = (field_expression "pMVar10->options" identifier -> field_identifier)) ;) (if_statement "if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)) goto LAB_0001be45;" if (parenthesized_expression "((*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG))" ( (binary_expression "(*(int *)((int)puVar25 + 0x10) < 0x400) ||\n             ((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" (parenthesized_expression "(*(int *)((int)puVar25 + 0x10) < 0x400)" ( (binary_expression "*(int *)((int)puVar25 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) || (parenthesized_expression "((MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG)" ( (binary_expression "(MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG" (parenthesized_expression "(MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL))" ( (binary_expression "MVar14 & (MHD_USE_EPOLL|MHD_USE_POLL)" identifier & (parenthesized_expression "(MHD_USE_EPOLL|MHD_USE_POLL)" ( (binary_expression "MHD_USE_EPOLL|MHD_USE_POLL" identifier | identifier) ))) )) != identifier) ))) )) (goto_statement "goto LAB_0001be45;" goto statement_identifier ;)) }))) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x400;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x400" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10);" (assignment_expression "p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10)" identifier = (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17;" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -8) = p_Var17" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -8)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar25 + -8)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb85b" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb85b" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4f7" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17;" (assignment_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10) = p_Var17" (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c4ff" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c50f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c50f" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar6 != 9)" ( (binary_expression "*piVar6 != 9" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x18e3;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x18e3" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c537;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c537" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c540:\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c545;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c545;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c545" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c54f" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc293" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc293" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c560;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c560" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc1ab" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc1ab" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c6d0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;" (assignment_expression "*(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc" (pointer_expression "*(MHD_NonceNc **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_NonceNc **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_NonceNc **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->nnc" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c6dc" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar25 + -0x10));" (call_expression "free(*(void **)((int)puVar25 + -0x10))" identifier (argument_list "(*(void **)((int)puVar25 + -0x10))" ( (pointer_expression "*(void **)((int)puVar25 + -0x10)" * (cast_expression "(void **)((int)puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c6e6" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar25 + -0x10));" (call_expression "free(*(void **)((int)puVar25 + -0x10))" identifier (argument_list "(*(void **)((int)puVar25 + -0x10))" ( (pointer_expression "*(void **)((int)puVar25 + -0x10)" * (cast_expression "(void **)((int)puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) (labeled_statement "LAB_0001bf6b:\n  *(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10;" statement_identifier : (expression_statement "*(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar22 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar22 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar22 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar22 + -0x14) = 0x1bf76;" (assignment_expression "*(undefined4 *)((int)puVar22 + -0x14) = 0x1bf76" (pointer_expression "*(undefined4 *)((int)puVar22 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar22 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar22 + -0x14)" ( (binary_expression "(int)puVar22 + -0x14" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar22 + -0x10));" (call_expression "free(*(void **)((int)puVar22 + -0x10))" identifier (argument_list "(*(void **)((int)puVar22 + -0x10))" ( (pointer_expression "*(void **)((int)puVar22 + -0x10)" * (cast_expression "(void **)((int)puVar22 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar22 + -0x10)" ( (binary_expression "(int)puVar22 + -0x10" (cast_expression "(int)puVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "puVar25 = puVar22;" (assignment_expression "puVar25 = puVar22" identifier = identifier) ;) (labeled_statement "LAB_0001bf79:\n  if (*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" statement_identifier : (if_statement "if (*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar25 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar25 + 0xec)" * (cast_expression "(int *)((int)puVar25 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xec)" ( (binary_expression "(int)puVar25 + 0xec" (cast_expression "(int)puVar25" ( (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    return;\n  }" { (return_statement "return;" return ;) }))) comment (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cc8f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cc8f" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (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 "()" ( ))) ;) (while_statement "while( true ) {\n    *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c04a;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1904;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;\n    MVar14 = (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c078:\n    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;\nLAB_0001be45:\n    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n    if (iVar13 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c04a;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1904;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;\n    MVar14 = (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c078:\n    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;\nLAB_0001be45:\n    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }\n  }" { (expression_statement "*(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + 0xc) = &pMVar10->per_ip_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + 0xc)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + 0xc)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->per_ip_connection_mutex" & (field_expression "pMVar10->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = &pMVar10->per_ip_connection_mutex" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->per_ip_connection_mutex" & (field_expression "pMVar10->per_ip_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c005;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c005" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar25 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar25 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001c200;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c200;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c020;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c020" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (if_statement "if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar25 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar25 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0001c02e:\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c03a" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c04a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c04a" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar6 != 9)" ( (binary_expression "*piVar6 != 9" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x1904;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x1904" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c072;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c072" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MVar14 = (*pcVar4)();" (assignment_expression "MVar14 = (*pcVar4)()" identifier = (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c078:\n    if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;" statement_identifier : (if_statement "if ((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG) break;" if (parenthesized_expression "((MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_NO_LISTEN_SOCKET) == MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_NO_LISTEN_SOCKET)" ( (binary_expression "MVar14 & MHD_USE_NO_LISTEN_SOCKET" identifier & identifier) )) == identifier) )) (break_statement "break;" break ;))) (labeled_statement "LAB_0001be45:\n    if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }" statement_identifier : (if_statement "if (((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)) {\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }" if (parenthesized_expression "(((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0))" ( (binary_expression "((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG) &&\n       (p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)" (parenthesized_expression "((MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_EPOLL)" ( (binary_expression "MVar14 & MHD_USE_EPOLL" identifier & identifier) )) != identifier) )) && (parenthesized_expression "(p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0)" ( (comma_expression "p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size,\n       p_Var17 == (MHD_AccessHandlerCallback)0x0" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size" identifier = (cast_expression "(MHD_AccessHandlerCallback)pMVar10->worker_pool_size" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier))) , (binary_expression "p_Var17 == (MHD_AccessHandlerCallback)0x0" identifier == (cast_expression "(MHD_AccessHandlerCallback)0x0" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal))) ))) )) (compound_statement "{\n      if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;\n      MVar11 = setup_epoll_to_listen(pMVar10);\n      if (MVar11 != MHD_YES) goto LAB_0001bf08;\n    }" { (if_statement "if ((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "((MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "MVar14 & MHD_USE_THREAD_PER_CONNECTION" identifier & identifier) )) != identifier) )) (compound_statement "{\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc33f" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc33f" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1be74;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1be74" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1bfdf;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1bfdf" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MVar11 = setup_epoll_to_listen(pMVar10);" (assignment_expression "MVar11 = setup_epoll_to_listen(pMVar10)" identifier = (call_expression "setup_epoll_to_listen(pMVar10)" identifier (argument_list "(pMVar10)" ( identifier )))) ;) (if_statement "if (MVar11 != MHD_YES) goto LAB_0001bf08;" if (parenthesized_expression "(MVar11 != MHD_YES)" ( (binary_expression "MVar11 != MHD_YES" identifier != identifier) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) }))) })) (expression_statement "*(uint *)((int)puVar25 + -0x10) =\n       (-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10;" (assignment_expression "*(uint *)((int)puVar25 + -0x10) =\n       (-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10" (pointer_expression "*(uint *)((int)puVar25 + -0x10)" * (cast_expression "(uint *)((int)puVar25 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8) + 10" (parenthesized_expression "(-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8)" ( (binary_expression "-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) & 0xfffffff8" (unary_expression "-(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG)" - (call_expression "(uint)((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_IPv6)" ( (binary_expression "MVar14 & MHD_USE_IPv6" identifier & identifier) )) == identifier) )))) & number_literal) )) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c098;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c098" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MVar15 = MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10));" (assignment_expression "MVar15 = MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "MHD_socket_create_listen_(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(MHD_socket *)((int)puVar25 + 0x10) = MVar15;" (assignment_expression "*(MHD_socket *)((int)puVar25 + 0x10) = MVar15" (pointer_expression "*(MHD_socket *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_socket *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (MVar15 != -1) {\n    if (pMVar10->listening_address_reuse == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }\n    MVar14 = pMVar10->options;\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x1c;\n    if (puVar18 == (undefined1 *)0x0) {\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    *(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n    *(undefined4 *)((int)puVar25 + -0x10) = 4;\n    *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);\n    *(undefined4 *)((int)puVar25 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar25 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;\n    iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }\n    uVar20 = *(undefined4 *)((int)puVar25 + 0x38);\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    goto LAB_0001c127;\n  }" if (parenthesized_expression "(MVar15 != -1)" ( (binary_expression "MVar15 != -1" identifier != number_literal) )) (compound_statement "{\n    if (pMVar10->listening_address_reuse == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }\n    MVar14 = pMVar10->options;\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x1c;\n    if (puVar18 == (undefined1 *)0x0) {\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    *(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);\n    *(undefined4 *)((int)puVar25 + -0x10) = 4;\n    *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);\n    *(undefined4 *)((int)puVar25 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar25 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;\n    iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10));\n    if (iVar13 < 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }\n    uVar20 = *(undefined4 *)((int)puVar25 + 0x38);\n    puVar18 = *(undefined1 **)((int)puVar25 + 0x34);\n    goto LAB_0001c127;\n  }" { (if_statement "if (pMVar10->listening_address_reuse == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }" if (parenthesized_expression "(pMVar10->listening_address_reuse == 0)" ( (binary_expression "pMVar10->listening_address_reuse == 0" (field_expression "pMVar10->listening_address_reuse" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }" { (labeled_statement "LAB_0001c5b0:\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30);" (assignment_expression "*(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x30)" (pointer_expression "*(undefined1 **)((int)puVar25 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar25 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar25 + 0x30)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x30)" ( (binary_expression "(int)puVar25 + 0x30" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c5c7" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x20)" * (cast_expression "(int *)((int)puVar25 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x18)" * (cast_expression "(int *)((int)puVar25 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x14)" * (cast_expression "(void **)((int)puVar25 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar25 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar25 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c5d7;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c5d7" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c5e1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c5f2" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) }) (else_clause "else if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }" else (if_statement "if (0 < pMVar10->listening_address_reuse) {\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }" if (parenthesized_expression "(0 < pMVar10->listening_address_reuse)" ( (binary_expression "0 < pMVar10->listening_address_reuse" number_literal < (field_expression "pMVar10->listening_address_reuse" identifier -> field_identifier)) )) (compound_statement "{\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 2;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x30)" identifier = (cast_expression "(MHD_mutex_ *)((int)puVar25 + 0x30)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x30)" ( (binary_expression "(int)puVar25 + 0x30" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x14)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x14)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c707;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c707" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x20)" * (cast_expression "(int *)((int)puVar25 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x18)" * (cast_expression "(int *)((int)puVar25 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x14)" * (cast_expression "(void **)((int)puVar25 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar25 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar25 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cb9d;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cb9d" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cba7" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cbb8" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x14) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x14)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x14)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x18) = 0xf;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x18) = 0xf" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c725;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c725" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x20)" * (cast_expression "(int *)((int)puVar25 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x18)" * (cast_expression "(int *)((int)puVar25 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x14)" * (cast_expression "(void **)((int)puVar25 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar25 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar25 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar25 + -4) = 0x1c735;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c735;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c735" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c73f" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c750;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c750" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) })))) (expression_statement "MVar14 = pMVar10->options;" (assignment_expression "MVar14 = pMVar10->options" identifier = (field_expression "pMVar10->options" identifier -> field_identifier)) ;) (expression_statement "puVar18 = *(undefined1 **)((int)puVar25 + 0x34);" (assignment_expression "puVar18 = *(undefined1 **)((int)puVar25 + 0x34)" identifier = (pointer_expression "*(undefined1 **)((int)puVar25 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar25 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x34)" ( (binary_expression "(int)puVar25 + 0x34" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG) goto LAB_0001c698;" if (parenthesized_expression "((MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG)" ( (binary_expression "(MVar14 & MHD_USE_IPv6) == MHD_NO_FLAG" (parenthesized_expression "(MVar14 & MHD_USE_IPv6)" ( (binary_expression "MVar14 & MHD_USE_IPv6" identifier & identifier) )) == identifier) )) (goto_statement "goto LAB_0001c698;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + 0x38) = 0x1c;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x38) = 0x1c" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x38)" ( (binary_expression "(int)puVar25 + 0x38" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (puVar18 == (undefined1 *)0x0) {\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" if (parenthesized_expression "(puVar18 == (undefined1 *)0x0)" ( (binary_expression "puVar18 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);\n      uVar7 = 0;\n      do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);\n      *(undefined4 *)((int)puVar25 + 0x58) = 0;\n      *(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      *(undefined2 *)((int)puVar25 + 0x50) = 10;\n      *(undefined4 *)((int)puVar25 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar25 + 0x60) = 0;\n      *(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);\n      *(undefined4 *)((int)puVar25 + 100) = 0;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" { (expression_statement "pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((int)puVar25 + 0x54)" identifier = (cast_expression "(MHD_mutex_ *)((int)puVar25 + 0x54)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x54)" ( (binary_expression "(int)puVar25 + 0x54" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      } while (uVar7 < 0x18);" do (compound_statement "{\n        *(undefined4 *)((int)pMVar29 + uVar7) = 0;\n        uVar7 = uVar7 + 4;\n      }" { (expression_statement "*(undefined4 *)((int)pMVar29 + uVar7) = 0;" (assignment_expression "*(undefined4 *)((int)pMVar29 + uVar7) = 0" (pointer_expression "*(undefined4 *)((int)pMVar29 + uVar7)" * (cast_expression "(undefined4 *)((int)pMVar29 + uVar7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar29 + uVar7)" ( (binary_expression "(int)pMVar29 + uVar7" (cast_expression "(int)pMVar29" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar7 = uVar7 + 4;" (assignment_expression "uVar7 = uVar7 + 4" identifier = (binary_expression "uVar7 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 < 0x18)" ( (binary_expression "uVar7 < 0x18" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 0x58) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x58) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x58)" ( (binary_expression "(int)puVar25 + 0x58" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar25 + 0x52) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar25 + 0x52)" * (cast_expression "(ushort *)((int)puVar25 + 0x52)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x52)" ( (binary_expression "(int)puVar25 + 0x52" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar25 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar25 + 0xc)" * (cast_expression "(ushort *)((int)puVar25 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar25 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar25 + 0xc)" * (cast_expression "(ushort *)((int)puVar25 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) (expression_statement "*(undefined2 *)((int)puVar25 + 0x50) = 10;" (assignment_expression "*(undefined2 *)((int)puVar25 + 0x50) = 10" (pointer_expression "*(undefined2 *)((int)puVar25 + 0x50)" * (cast_expression "(undefined2 *)((int)puVar25 + 0x50)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x50)" ( (binary_expression "(int)puVar25 + 0x50" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 0x5c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x5c) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x5c)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x5c)" ( (binary_expression "(int)puVar25 + 0x5c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 0x60) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x60) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x60)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x60)" ( (binary_expression "(int)puVar25 + 0x60" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50);" (assignment_expression "*(undefined1 **)((int)puVar25 + 0x34) = (undefined1 *)((int)puVar25 + 0x50)" (pointer_expression "*(undefined1 **)((int)puVar25 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar25 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x34)" ( (binary_expression "(int)puVar25 + 0x34" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar25 + 0x50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x50)" ( (binary_expression "(int)puVar25 + 0x50" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 100) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 100) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 100)" * (cast_expression "(undefined4 *)((int)puVar25 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 100)" ( (binary_expression "(int)puVar25 + 100" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);" (assignment_expression "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10)" (field_expression "pMVar10->listen_fd" identifier -> field_identifier) = (pointer_expression "*(MHD_socket *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_socket *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" else (compound_statement "{\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" { (expression_statement "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);" (assignment_expression "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10)" (field_expression "pMVar10->listen_fd" identifier -> field_identifier) = (pointer_expression "*(MHD_socket *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_socket *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "*(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK);" (assignment_expression "*(uint *)((int)puVar25 + 0x3c) = (uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK)" (pointer_expression "*(uint *)((int)puVar25 + 0x3c)" * (cast_expression "(uint *)((int)puVar25 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x3c)" ( (binary_expression "(int)puVar25 + 0x3c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (call_expression "(uint)((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK)" ( (binary_expression "(MVar14 & MHD_USE_DUAL_STACK) != MHD_USE_DUAL_STACK" (parenthesized_expression "(MVar14 & MHD_USE_DUAL_STACK)" ( (binary_expression "MVar14 & MHD_USE_DUAL_STACK" identifier & identifier) )) != identifier) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c);" (assignment_expression "*(undefined1 **)((int)puVar25 + -0x14) = (undefined1 *)((int)puVar25 + 0x3c)" (pointer_expression "*(undefined1 **)((int)puVar25 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar25 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar25 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x3c)" ( (binary_expression "(int)puVar25 + 0x3c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x18) = 0x1a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x18) = 0x1a" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x1c) = 0x29;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x1c) = 0x29" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c114;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c114" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                        *(socklen_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x20)" * (cast_expression "(int *)((int)puVar25 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x18)" * (cast_expression "(int *)((int)puVar25 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x14)" * (cast_expression "(void **)((int)puVar25 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar25 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar25 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 < 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cb75;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cb75;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cb75" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb7f" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb90" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (expression_statement "uVar20 = *(undefined4 *)((int)puVar25 + 0x38);" (assignment_expression "uVar20 = *(undefined4 *)((int)puVar25 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x38)" ( (binary_expression "(int)puVar25 + 0x38" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar18 = *(undefined1 **)((int)puVar25 + 0x34);" (assignment_expression "puVar18 = *(undefined1 **)((int)puVar25 + 0x34)" identifier = (pointer_expression "*(undefined1 **)((int)puVar25 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar25 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x34)" ( (binary_expression "(int)puVar25 + 0x34" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_0001c127;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c765;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c765" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c76f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c76f" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc21f;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc21f" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc21f" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c780;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c780" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001bf08:\n  if (pMVar10->epoll_fd != -1) {\n    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar25 + -0x10));\n  }" statement_identifier : (if_statement "if (pMVar10->epoll_fd != -1) {\n    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar25 + -0x10));\n  }" if (parenthesized_expression "(pMVar10->epoll_fd != -1)" ( (binary_expression "pMVar10->epoll_fd != -1" (field_expression "pMVar10->epoll_fd" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar25 + -0x10));\n  }" { (expression_statement "*(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = pMVar10->epoll_fd" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->epoll_fd" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf1c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "close(*(int *)((int)puVar25 + -0x10));" (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }))) (expression_statement "*(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc;" (assignment_expression "*(MHD_NonceNc **)((int)puVar25 + -0x10) = pMVar10->nnc" (pointer_expression "*(MHD_NonceNc **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_NonceNc **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_NonceNc **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->nnc" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf2d;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf2d" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar25 + -0x10));" (call_expression "free(*(void **)((int)puVar25 + -0x10))" identifier (argument_list "(*(void **)((int)puVar25 + -0x10))" ( (pointer_expression "*(void **)((int)puVar25 + -0x10)" * (cast_expression "(void **)((int)puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x14)" ( (binary_expression "(int)puVar25 + 0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf37;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf37" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar25 + -8) = 0x19e2;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;\n    (*pcVar4)();\n    goto LAB_0001ccae;\n  }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar25 + -8) = 0x19e2;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;\n    (*pcVar4)();\n    goto LAB_0001ccae;\n  }" { (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x19e2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x19e2" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar18 = (undefined1 *)((int)puVar25 + -0x10);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ccae" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ccae;" goto statement_identifier ;) })) (expression_statement "iVar13 = (pMVar10->itc).fd;" (assignment_expression "iVar13 = (pMVar10->itc).fd" identifier = (field_expression "(pMVar10->itc).fd" (parenthesized_expression "(pMVar10->itc)" ( (field_expression "pMVar10->itc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar22 = puVar25;" (assignment_expression "puVar22 = puVar25" identifier = identifier) ;) (if_statement "if (iVar13 != -1) {\n    *(int *)((int)puVar25 + -0x10) = iVar13;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 != 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }\n  }" if (parenthesized_expression "(iVar13 != -1)" ( (binary_expression "iVar13 != -1" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar25 + -0x10) = iVar13;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 != 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }\n  }" { (expression_statement "*(int *)((int)puVar25 + -0x10) = iVar13;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = iVar13" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bf56" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar25 + -4) = 0x1bf62;\n      piVar6 = __errno_location();\n      if (*piVar6 == 9) goto LAB_0001c5fa;\n    }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1bf62;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1bf62" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 == 9) goto LAB_0001c5fa;" if (parenthesized_expression "(*piVar6 == 9)" ( (binary_expression "*piVar6 == 9" (pointer_expression "*piVar6" * identifier) == number_literal) )) (goto_statement "goto LAB_0001c5fa;" goto statement_identifier ;)) })) })) (goto_statement "goto LAB_0001bf6b;" goto statement_identifier ;) (labeled_statement "LAB_0001c5fa:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;" statement_identifier : (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x19f0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x19f0" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c619;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c619" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar27 = puVar25;\n    if (iVar13 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c669;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1911;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;\n    puVar18 = (undefined1 *)(*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;\n    if (puVar18 == (undefined1 *)0x0) {\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar25 + -8) = uVar20;\n    *(undefined1 **)((int)puVar25 + -0xc) = puVar18;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;\n    iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8));\n    if (iVar13 == -1) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    *(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;\n    iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n    if (-1 < iVar13) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;\n    pMVar29 = (MHD_mutex_ *)__errno_location();\n    *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x186b;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;\n    (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c200:\n    pMVar29 = &pMVar10->cleanup_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n  } while (iVar13 != 0);" do (compound_statement "{\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar27 = puVar25;\n    if (iVar13 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c669;\n    piVar6 = __errno_location();\n    if (*piVar6 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1911;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;\n    puVar18 = (undefined1 *)(*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;\n    if (puVar18 == (undefined1 *)0x0) {\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar25 + -8) = uVar20;\n    *(undefined1 **)((int)puVar25 + -0xc) = puVar18;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;\n    iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8));\n    if (iVar13 == -1) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }\n    *(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;\n    iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n    if (-1 < iVar13) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;\n    pMVar29 = (MHD_mutex_ *)__errno_location();\n    *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar25 + -8) = 0x186b;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;\n    (*pcVar4)();\n    puVar25 = (undefined4 *)((int)puVar25 + -0x10);\nLAB_0001c200:\n    pMVar29 = &pMVar10->cleanup_connection_mutex;\n    *(undefined4 *)((int)puVar25 + -0xc) = 0;\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;\n    iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n  }" { (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c630;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c630" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c638;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c638" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar27 = puVar25;" (assignment_expression "puVar27 = puVar25" identifier = identifier) ;) (if_statement "if (iVar13 != 0) goto LAB_0001cd49;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cd49;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar25 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar25 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10)" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c659;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c659" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c669;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c669" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar6 != 9)" ( (binary_expression "*piVar6 != 9" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x1911;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x1911" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c691;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c691" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar18 = (undefined1 *)(*pcVar4)();" (assignment_expression "puVar18 = (undefined1 *)(*pcVar4)()" identifier = (cast_expression "(undefined1 *)(*pcVar4)()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c698:\n    *(undefined4 *)((int)puVar25 + 0x38) = 0x10;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar25 + 0x38) = 0x10;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x38) = 0x10" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x38)" ( (binary_expression "(int)puVar25 + 0x38" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (if_statement "if (puVar18 == (undefined1 *)0x0) {\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }\n    else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" if (parenthesized_expression "(puVar18 == (undefined1 *)0x0)" ( (binary_expression "puVar18 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar18 = (undefined1 *)((int)puVar25 + 0x40);\n      *(undefined2 *)((int)puVar25 + 0x40) = 2;\n      *(undefined4 *)((int)puVar25 + 0x44) = 0;\n      *(undefined4 *)((int)puVar25 + 0x48) = 0;\n      *(undefined4 *)((int)puVar25 + 0x4c) = 0;\n      *(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;\n      uVar20 = 0x10;\n      *(undefined1 **)((int)puVar25 + 0x34) = puVar18;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" { (expression_statement "puVar18 = (undefined1 *)((int)puVar25 + 0x40);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar25 + 0x40)" identifier = (cast_expression "(undefined1 *)((int)puVar25 + 0x40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x40)" ( (binary_expression "(int)puVar25 + 0x40" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined2 *)((int)puVar25 + 0x40) = 2;" (assignment_expression "*(undefined2 *)((int)puVar25 + 0x40) = 2" (pointer_expression "*(undefined2 *)((int)puVar25 + 0x40)" * (cast_expression "(undefined2 *)((int)puVar25 + 0x40)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x40)" ( (binary_expression "(int)puVar25 + 0x40" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x44)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x44)" ( (binary_expression "(int)puVar25 + 0x44" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 0x48) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x48) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x48)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x48)" ( (binary_expression "(int)puVar25 + 0x48" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x4c) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x4c)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x4c)" ( (binary_expression "(int)puVar25 + 0x4c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar25 + 0x42) =\n           *(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar25 + 0x42)" * (cast_expression "(ushort *)((int)puVar25 + 0x42)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x42)" ( (binary_expression "(int)puVar25 + 0x42" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar25 + 0xc) >> 8 | *(ushort *)((int)puVar25 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar25 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar25 + 0xc)" * (cast_expression "(ushort *)((int)puVar25 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar25 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar25 + 0xc)" * (cast_expression "(ushort *)((int)puVar25 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) (expression_statement "uVar20 = 0x10;" (assignment_expression "uVar20 = 0x10" identifier = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar25 + 0x34) = puVar18;" (assignment_expression "*(undefined1 **)((int)puVar25 + 0x34) = puVar18" (pointer_expression "*(undefined1 **)((int)puVar25 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar25 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x34)" ( (binary_expression "(int)puVar25 + 0x34" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);" (assignment_expression "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10)" (field_expression "pMVar10->listen_fd" identifier -> field_identifier) = (pointer_expression "*(MHD_socket *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_socket *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" else (compound_statement "{\n      uVar20 = 0x10;\n      pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);\n    }" { (expression_statement "uVar20 = 0x10;" (assignment_expression "uVar20 = 0x10" identifier = number_literal) ;) (expression_statement "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10);" (assignment_expression "pMVar10->listen_fd = *(MHD_socket *)((int)puVar25 + 0x10)" (field_expression "pMVar10->listen_fd" identifier -> field_identifier) = (pointer_expression "*(MHD_socket *)((int)puVar25 + 0x10)" * (cast_expression "(MHD_socket *)((int)puVar25 + 0x10)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (labeled_statement "LAB_0001c127:\n    *(undefined4 *)((int)puVar25 + -8) = uVar20;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar25 + -8) = uVar20;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = uVar20" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined1 **)((int)puVar25 + -0xc) = puVar18;" (assignment_expression "*(undefined1 **)((int)puVar25 + -0xc) = puVar18" (pointer_expression "*(undefined1 **)((int)puVar25 + -0xc)" * (cast_expression "(undefined1 **)((int)puVar25 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c135;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c135" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8));" (assignment_expression "iVar13 = bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8))" identifier = (call_expression "bind(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10),*(sockaddr **)((int)puVar25 + -0xc),\n                  *(socklen_t *)((int)puVar25 + -8))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar25 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar25 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar25 + -8)" * (cast_expression "(socklen_t *)((int)puVar25 + -8)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == -1) {\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }" if (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;\n      pMVar29 = (MHD_mutex_ *)__errno_location();\n      *(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -0x14) = pcVar16;\n      *(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);\n      *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;\n      *(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x184d;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;\n      (*pcVar4)();\n      puVar25 = (undefined4 *)((int)puVar25 + -0x10);\n      goto LAB_0001c828;\n    }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c7c5;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c7c5" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)__errno_location();" (assignment_expression "pMVar29 = (MHD_mutex_ *)__errno_location()" identifier = (cast_expression "(MHD_mutex_ *)__errno_location()" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c7d1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -0x14) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -0x14) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -0x14)" * (cast_expression "(char **)((int)puVar25 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc);" (assignment_expression "*(uint *)((int)puVar25 + -0x18) = (uint)*(ushort *)((int)puVar25 + 0xc)" (pointer_expression "*(uint *)((int)puVar25 + -0x18)" * (cast_expression "(uint *)((int)puVar25 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)*(ushort *)((int)puVar25 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar25 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b;" (assignment_expression "*(int *)((int)puVar25 + -0x1c) = iVar8 + 0xc24b" (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc24b" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x20) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x20)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x20)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c7e5" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x20)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x20)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0x1c)" * (cast_expression "(char **)((int)puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c7f1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar13 == 0) || ((pMVar29->__data).__lock != 9))" ( (binary_expression "(iVar13 == 0) || ((pMVar29->__data).__lock != 9)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "((pMVar29->__data).__lock != 9)" ( (binary_expression "(pMVar29->__data).__lock != 9" (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x184d;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x184d" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c824;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c824" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001c828;" goto statement_identifier ;) })) (if_statement "if ((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG) {\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }" if (parenthesized_expression "((pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_TCP_FASTOPEN) != MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_TCP_FASTOPEN)" ( (binary_expression "pMVar10->options & MHD_USE_TCP_FASTOPEN" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n      if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }\n      *(undefined4 *)((int)puVar25 + -0x10) = 4;\n      *(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;\n      *(undefined4 *)((int)puVar25 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar25 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;\n      iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }\n    }" { (if_statement "if (pMVar10->fastopen_queue_size == 0) {\n        pMVar10->fastopen_queue_size = 10;\n      }" if (parenthesized_expression "(pMVar10->fastopen_queue_size == 0)" ( (binary_expression "pMVar10->fastopen_queue_size == 0" (field_expression "pMVar10->fastopen_queue_size" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        pMVar10->fastopen_queue_size = 10;\n      }" { (expression_statement "pMVar10->fastopen_queue_size = 10;" (assignment_expression "pMVar10->fastopen_queue_size = 10" (field_expression "pMVar10->fastopen_queue_size" identifier -> field_identifier) = number_literal) ;) })) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size;" (assignment_expression "*(uint **)((int)puVar25 + -0x14) = &pMVar10->fastopen_queue_size" (pointer_expression "*(uint **)((int)puVar25 + -0x14)" * (cast_expression "(uint **)((int)puVar25 + -0x14)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->fastopen_queue_size" & (field_expression "pMVar10->fastopen_queue_size" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x18) = 0x17;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x18) = 0x17" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x1c) = 6;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x1c) = 6" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x20) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c177;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c177" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),\n                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),\n                          *(socklen_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x20)" * (cast_expression "(int *)((int)puVar25 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0x18)" * (cast_expression "(int *)((int)puVar25 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x14)" * (cast_expression "(void **)((int)puVar25 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar25 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar25 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar25 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;\n        pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n        *(char **)((int)puVar25 + -8) = pcVar16;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;\n        MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cb2f;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cb2f" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb39" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cb4a" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) })) (expression_statement "*(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size;" (assignment_expression "*(uint *)((int)puVar25 + -0xc) = pMVar10->listen_backlog_size" (pointer_expression "*(uint *)((int)puVar25 + -0xc)" * (cast_expression "(uint *)((int)puVar25 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->listen_backlog_size" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c194;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c194" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc))" identifier = (call_expression "listen(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar13) goto LAB_0001bdf8;" if (parenthesized_expression "(-1 < iVar13)" ( (binary_expression "-1 < iVar13" number_literal < identifier) )) (goto_statement "goto LAB_0001bdf8;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c1a4;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c1a4" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)__errno_location();" (assignment_expression "pMVar29 = (MHD_mutex_ *)__errno_location()" identifier = (cast_expression "(MHD_mutex_ *)__errno_location()" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (pMVar29->__data).__lock" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1b0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc26b" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc26b" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1c1" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10);" (assignment_expression "p_Var17 = *(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10)" identifier = (pointer_expression "*(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10)" * (cast_expression "(MHD_AccessHandlerCallback *)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_AccessHandlerCallback *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1cb" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar13 == 0) || ((pMVar29->__data).__lock != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar13 == 0) || ((pMVar29->__data).__lock != 9))" ( (binary_expression "(iVar13 == 0) || ((pMVar29->__data).__lock != 9)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "((pMVar29->__data).__lock != 9)" ( (binary_expression "(pMVar29->__data).__lock != 9" (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x186b;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x186b" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c1fe" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c200:\n    pMVar29 = &pMVar10->cleanup_connection_mutex;" statement_identifier : (expression_statement "pMVar29 = &pMVar10->cleanup_connection_mutex;" (assignment_expression "pMVar29 = &pMVar10->cleanup_connection_mutex" identifier = (pointer_expression "&pMVar10->cleanup_connection_mutex" & (field_expression "pMVar10->cleanup_connection_mutex" identifier -> field_identifier))) ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c211;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c211" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar25 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar25 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) ;) (if_statement "if ((pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n      MHD_USE_INTERNAL_POLLING_THREAD) goto LAB_0001bf79;" if (parenthesized_expression "((pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n      MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "(pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)) !=\n      MHD_USE_INTERNAL_POLLING_THREAD" (parenthesized_expression "(pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD))" ( (binary_expression "pMVar10->options & (MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)" (field_expression "pMVar10->options" identifier -> field_identifier) & (parenthesized_expression "(MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD)" ( (binary_expression "MHD_USE_NO_LISTEN_SOCKET|MHD_USE_INTERNAL_POLLING_THREAD" identifier | identifier) ))) )) != identifier) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size;" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)pMVar10->worker_pool_size" identifier = (cast_expression "(MHD_AccessHandlerCallback)pMVar10->worker_pool_size" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier))) ;) (if_statement "if (p_Var17 == (MHD_AccessHandlerCallback)0x0) {\n    iVar13 = iVar8 + 0xb306;\n    if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n      iVar13 = iVar8 + 0xb2fb;\n    }\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n    *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n    *(int *)((int)puVar25 + -0x1c) = iVar13;\n    *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;\n    iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10));\n    if (iVar13 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c280;\n    p_Var17 = (MHD_AccessHandlerCallback)__errno_location();\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;\n    puVar23 = (undefined4 *)((int)puVar25 + -0x10);\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar26 = (undefined1 *)puVar25;\n    if (iVar13 == 0) {\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }\nLAB_0001cccd:\n    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar26 + -8) = 0x193b;\n    *(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;\n    puVar25 = (undefined4 *)(puVar26 + -0x10);\n    *(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)(puVar26 + -0x14) = 0x1ccec;\n    (*pcVar4)();\nLAB_0001ccec:\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1977;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;\n    (*pcVar4)();\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;\n    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;\n    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));\n    pMVar10->worker_pool = pMVar19;\n    if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }\n    if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;\n    piVar6 = __errno_location();\n    puVar18 = (undefined1 *)puVar25;\n    if (*piVar6 != 9) goto LAB_0001ca3b;\n  }" if (parenthesized_expression "(p_Var17 == (MHD_AccessHandlerCallback)0x0)" ( (binary_expression "p_Var17 == (MHD_AccessHandlerCallback)0x0" identifier == (cast_expression "(MHD_AccessHandlerCallback)0x0" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) number_literal)) )) (compound_statement "{\n    iVar13 = iVar8 + 0xb306;\n    if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n      iVar13 = iVar8 + 0xb2fb;\n    }\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n    *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n    *(int *)((int)puVar25 + -0x1c) = iVar13;\n    *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;\n    *(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;\n    iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10));\n    if (iVar13 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1c280;\n    p_Var17 = (MHD_AccessHandlerCallback)__errno_location();\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;\n    pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n    *(char **)((int)puVar25 + -8) = pcVar16;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;\n    puVar23 = (undefined4 *)((int)puVar25 + -0x10);\n    *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;\n    MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n    *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;\n    iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n    puVar26 = (undefined1 *)puVar25;\n    if (iVar13 == 0) {\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }\nLAB_0001cccd:\n    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar26 + -8) = 0x193b;\n    *(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;\n    puVar25 = (undefined4 *)(puVar26 + -0x10);\n    *(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)(puVar26 + -0x14) = 0x1ccec;\n    (*pcVar4)();\nLAB_0001ccec:\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar25 + -8) = 0x1977;\n    *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n    pcVar4 = *(code **)(iVar8 + 0x14633);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;\n    (*pcVar4)();\n    puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n  }" { (expression_statement "iVar13 = iVar8 + 0xb306;" (assignment_expression "iVar13 = iVar8 + 0xb306" identifier = (binary_expression "iVar8 + 0xb306" identifier + number_literal)) ;) (if_statement "if ((pMVar10->options & MHD_USE_THREAD_PER_CONNECTION) != MHD_NO_FLAG) {\n      iVar13 = iVar8 + 0xb2fb;\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      iVar13 = iVar8 + 0xb2fb;\n    }" { (expression_statement "iVar13 = iVar8 + 0xb2fb;" (assignment_expression "iVar13 = iVar8 + 0xb2fb" identifier = (binary_expression "iVar8 + 0xb2fb" identifier + number_literal)) ;) })) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar25 + -0x14)" * (cast_expression "(int *)((int)puVar25 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + -0x8d9" identifier + number_literal)) ;) (expression_statement "*(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;" (assignment_expression "*(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size" (pointer_expression "*(size_t *)((int)puVar25 + -0x18)" * (cast_expression "(size_t *)((int)puVar25 + -0x18)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->thread_stack_size" identifier -> field_identifier)) ;) (expression_statement "*(int *)((int)puVar25 + -0x1c) = iVar13;" (assignment_expression "*(int *)((int)puVar25 + -0x1c) = iVar13" (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid;" (assignment_expression "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar10->pid" (pointer_expression "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" * (cast_expression "(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" ( (type_descriptor "MHD_thread_handle_ID_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar10->pid" & (field_expression "pMVar10->pid" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c270;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c270" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10))" identifier = (call_expression "MHD_create_named_thread_\n                       (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10))" identifier (argument_list "(*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                        *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                        *(void **)((int)puVar25 + -0x10))" ( (pointer_expression "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" * (cast_expression "(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" ( (type_descriptor "MHD_thread_handle_ID_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0x1c)" * (cast_expression "(char **)((int)puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar25 + -0x18)" * (cast_expression "(size_t *)((int)puVar25 + -0x18)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14)" * (cast_expression "(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14)" ( (type_descriptor "MHD_THREAD_START_ROUTINE_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x10)" * (cast_expression "(void **)((int)puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) goto LAB_0001bf79;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c280;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c280" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "p_Var17 = (MHD_AccessHandlerCallback)__errno_location();" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)__errno_location()" identifier = (cast_expression "(MHD_AccessHandlerCallback)__errno_location()" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) (call_expression "__errno_location()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)p_Var17" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)p_Var17" * (cast_expression "(undefined4 *)p_Var17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c28c" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3c7" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc3c7" identifier + number_literal)) ;) (expression_statement "puVar23 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar23 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c29d" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c2a5" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar26 = (undefined1 *)puVar25;" (assignment_expression "puVar26 = (undefined1 *)puVar25" identifier = (cast_expression "(undefined1 *)puVar25" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar13 == 0) {\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;\n      iVar13 = close(*(int *)((int)puVar25 + -0x10));\n      if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar25 + -8) = 0x193e;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;\n      (*pcVar4)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar23 + -0x10) = 0;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;\n      iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));\n      (pMVar10->itc).fd = iVar13;\n      if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar25 = puVar23;\n      if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;\n      *(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;\n      *(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));\n      *(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;\n      *(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;\n      iVar13 = close(*(int *)((int)puVar23 + -0x10));\n      puVar22 = puVar23;\n      if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }\n      goto LAB_0001bf6b;\n    }" { (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c2bc" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) goto LAB_0001cd2a;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cd2a;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar25 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar25 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10)" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c2dd" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar13 == 0) || (*(int *)p_Var17 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar13 == 0) || (*(int *)p_Var17 != 9))" ( (binary_expression "(iVar13 == 0) || (*(int *)p_Var17 != 9)" (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)p_Var17 != 9)" ( (binary_expression "*(int *)p_Var17 != 9" (pointer_expression "*(int *)p_Var17" * (cast_expression "(int *)p_Var17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x193e;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x193e" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c310;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c310" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c310:\n      *(undefined4 *)((int)puVar23 + -0xc) = 0x80800;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar23 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar23 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0xc)" ( (binary_expression "(int)puVar23 + -0xc" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)((int)puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c31f" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x14)" ( (binary_expression "(int)puVar23 + -0x14" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));" (assignment_expression "iVar13 = eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc))" identifier = (call_expression "eventfd(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc))" identifier (argument_list "(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc))" ( (pointer_expression "*(int *)((int)puVar23 + -0x10)" * (cast_expression "(int *)((int)puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar23 + -0xc)" * (cast_expression "(int *)((int)puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0xc)" ( (binary_expression "(int)puVar23 + -0xc" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "(pMVar10->itc).fd = iVar13;" (assignment_expression "(pMVar10->itc).fd = iVar13" (field_expression "(pMVar10->itc).fd" (parenthesized_expression "(pMVar10->itc)" ( (field_expression "pMVar10->itc" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (iVar13 == -1) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" if (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;\n        piVar6 = __errno_location();\n        *(int *)((int)puVar23 + -0x10) = *piVar6;\n        *(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;\n        pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));\n        puVar24 = (undefined1 *)((int)puVar23 + -8);\n        *(char **)((int)puVar23 + -8) = pcVar16;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" { (expression_statement "*(undefined4 *)((int)puVar23 + -4) = 0x1cbc5;" (assignment_expression "*(undefined4 *)((int)puVar23 + -4) = 0x1cbc5" (pointer_expression "*(undefined4 *)((int)puVar23 + -4)" * (cast_expression "(undefined4 *)((int)puVar23 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -4)" ( (binary_expression "(int)puVar23 + -4" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar23 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar23 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar23 + -0x10)" * (cast_expression "(int *)((int)puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x14) = 0x1cbcf" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x14)" ( (binary_expression "(int)puVar23 + -0x14" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar23 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar23 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar23 + -0x10))" identifier (argument_list "(*(int *)((int)puVar23 + -0x10))" ( (pointer_expression "*(int *)((int)puVar23 + -0x10)" * (cast_expression "(int *)((int)puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar24 = (undefined1 *)((int)puVar23 + -8);" (assignment_expression "puVar24 = (undefined1 *)((int)puVar23 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar23 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -8)" ( (binary_expression "(int)puVar23 + -8" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar23 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar23 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar23 + -8)" * (cast_expression "(char **)((int)puVar23 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar23 + -8)" ( (binary_expression "(int)puVar23 + -8" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 0xc0c7;" (assignment_expression "iVar8 = iVar8 + 0xc0c7" identifier = (binary_expression "iVar8 + 0xc0c7" identifier + number_literal)) ;) (goto_statement "goto LAB_0001c3a9;" goto statement_identifier ;) })) (expression_statement "puVar25 = puVar23;" (assignment_expression "puVar25 = puVar23" identifier = identifier) ;) (if_statement "if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))\n      goto LAB_0001bd6c;" if (parenthesized_expression "(((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400))" ( (binary_expression "((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) != MHD_NO_FLAG) || (iVar13 < 0x400)" (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) )) || (parenthesized_expression "(iVar13 < 0x400)" ( (binary_expression "iVar13 < 0x400" identifier < number_literal) ))) )) (goto_statement "goto LAB_0001bd6c;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103;" (assignment_expression "*(int *)((int)puVar23 + -0xc) = iVar8 + 0xc103" (pointer_expression "*(int *)((int)puVar23 + -0xc)" * (cast_expression "(int *)((int)puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0xc)" ( (binary_expression "(int)puVar23 + -0xc" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc103" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar23 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar23 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar23 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c35c" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x14)" ( (binary_expression "(int)puVar23 + -0x14" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar23 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar23 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar23 + -0xc)" * (cast_expression "(char **)((int)puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar23 + -0xc)" ( (binary_expression "(int)puVar23 + -0xc" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd;" (assignment_expression "*(int *)((int)puVar23 + -0x10) = (pMVar10->itc).fd" (pointer_expression "*(int *)((int)puVar23 + -0x10)" * (cast_expression "(int *)((int)puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "(pMVar10->itc).fd" (parenthesized_expression "(pMVar10->itc)" ( (field_expression "pMVar10->itc" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c368;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c368" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x14)" ( (binary_expression "(int)puVar23 + -0x14" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar23 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar23 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar23 + -0x10))" identifier (argument_list "(*(int *)((int)puVar23 + -0x10))" ( (pointer_expression "*(int *)((int)puVar23 + -0x10)" * (cast_expression "(int *)((int)puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar22 = puVar23;" (assignment_expression "puVar22 = puVar23" identifier = identifier) ;) (if_statement "if (iVar13 != 0) {\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar23 + -4) = 0x1c378;\n        piVar6 = __errno_location();\n        if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }\n      }" { (expression_statement "*(undefined4 *)((int)puVar23 + -4) = 0x1c378;" (assignment_expression "*(undefined4 *)((int)puVar23 + -4) = 0x1c378" (pointer_expression "*(undefined4 *)((int)puVar23 + -4)" * (cast_expression "(undefined4 *)((int)puVar23 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -4)" ( (binary_expression "(int)puVar23 + -4" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 == 9) {\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }" if (parenthesized_expression "(*piVar6 == 9)" ( (binary_expression "*piVar6 == 9" (pointer_expression "*piVar6" * identifier) == number_literal) )) (compound_statement "{\n          *(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar23 + -8) = 0x172d;\n          *(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;\n          puVar25 = (undefined4 *)((int)puVar23 + -0x10);\n          *(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n          pcVar4 = *(code **)(iVar8 + 0x14633);\n          *(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;\n          (*pcVar4)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar24 = (undefined1 *)((int)puVar25 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;\n          MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));\n          *(MHD_Daemon **)(puVar24 + -8) = pMVar10;\n          *(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar24 + -8));\n          puVar25 = (undefined4 *)(puVar24 + 8);\n          goto LAB_0001bf79;\n        }" { (expression_statement "*(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar23 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar23 + -4)" * (cast_expression "(int *)((int)puVar23 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -4)" ( (binary_expression "(int)puVar23 + -4" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -8) = 0x172d;" (assignment_expression "*(undefined4 *)((int)puVar23 + -8) = 0x172d" (pointer_expression "*(undefined4 *)((int)puVar23 + -8)" * (cast_expression "(undefined4 *)((int)puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -8)" ( (binary_expression "(int)puVar23 + -8" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar23 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar23 + -0xc)" * (cast_expression "(int *)((int)puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0xc)" ( (binary_expression "(int)puVar23 + -0xc" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar25 = (undefined4 *)((int)puVar23 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)((int)puVar23 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x10)" ( (binary_expression "(int)puVar23 + -0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0;" (assignment_expression "*(undefined4 *)((int)puVar23 + -0x14) = 0x1c3a0" (pointer_expression "*(undefined4 *)((int)puVar23 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar23 + -0x14)" ( (binary_expression "(int)puVar23 + -0x14" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;" statement_identifier : (expression_statement "iVar8 = iVar8 + 0xc153;" (assignment_expression "iVar8 = iVar8 + 0xc153" identifier = (binary_expression "iVar8 + 0xc153" identifier + number_literal)) ;)) (expression_statement "puVar24 = (undefined1 *)((int)puVar25 + -8);" (assignment_expression "puVar24 = (undefined1 *)((int)puVar25 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar25 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c3a9:\n          *(int *)(puVar24 + -4) = iVar8;" statement_identifier : (expression_statement "*(int *)(puVar24 + -4) = iVar8;" (assignment_expression "*(int *)(puVar24 + -4) = iVar8" (pointer_expression "*(int *)(puVar24 + -4)" * (cast_expression "(int *)(puVar24 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + -4)" ( (binary_expression "puVar24 + -4" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(MHD_Daemon **)(puVar24 + -8) = pMVar10;" (assignment_expression "*(MHD_Daemon **)(puVar24 + -8) = pMVar10" (pointer_expression "*(MHD_Daemon **)(puVar24 + -8)" * (cast_expression "(MHD_Daemon **)(puVar24 + -8)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -8)" ( (binary_expression "puVar24 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar24 + -0xc) = 0x1c3b0;" (assignment_expression "*(undefined4 *)(puVar24 + -0xc) = 0x1c3b0" (pointer_expression "*(undefined4 *)(puVar24 + -0xc)" * (cast_expression "(undefined4 *)(puVar24 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + -0xc)" ( (binary_expression "puVar24 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4))" identifier (argument_list "(*(MHD_Daemon **)(puVar24 + -8),*(char **)(puVar24 + -4))" ( (pointer_expression "*(MHD_Daemon **)(puVar24 + -8)" * (cast_expression "(MHD_Daemon **)(puVar24 + -8)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -8)" ( (binary_expression "puVar24 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar24 + -4)" * (cast_expression "(char **)(puVar24 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -4)" ( (binary_expression "puVar24 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "*(MHD_Daemon **)(puVar24 + -8) = pMVar10;" (assignment_expression "*(MHD_Daemon **)(puVar24 + -8) = pMVar10" (pointer_expression "*(MHD_Daemon **)(puVar24 + -8)" * (cast_expression "(MHD_Daemon **)(puVar24 + -8)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -8)" ( (binary_expression "puVar24 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar24 + -0xc) = 0x1c3ba;" (assignment_expression "*(undefined4 *)(puVar24 + -0xc) = 0x1c3ba" (pointer_expression "*(undefined4 *)(puVar24 + -0xc)" * (cast_expression "(undefined4 *)(puVar24 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + -0xc)" ( (binary_expression "puVar24 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar24 + -8));" (call_expression "free(*(void **)(puVar24 + -8))" identifier (argument_list "(*(void **)(puVar24 + -8))" ( (pointer_expression "*(void **)(puVar24 + -8)" * (cast_expression "(void **)(puVar24 + -8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -8)" ( (binary_expression "puVar24 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "puVar25 = (undefined4 *)(puVar24 + 8);" (assignment_expression "puVar25 = (undefined4 *)(puVar24 + 8)" identifier = (cast_expression "(undefined4 *)(puVar24 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 8)" ( (binary_expression "puVar24 + 8" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_0001bf6b;" goto statement_identifier ;) })) (labeled_statement "LAB_0001cccd:\n    *(int *)(puVar26 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)(puVar26 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar26 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar26 + -4)" * (cast_expression "(int *)(puVar26 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar26 + -8) = 0x193b;" (assignment_expression "*(undefined4 *)(puVar26 + -8) = 0x193b" (pointer_expression "*(undefined4 *)(puVar26 + -8)" * (cast_expression "(undefined4 *)(puVar26 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar26 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar26 + -0xc)" * (cast_expression "(int *)(puVar26 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar25 = (undefined4 *)(puVar26 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)(puVar26 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar26 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)(puVar26 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)(puVar26 + -0x10)" * (cast_expression "(undefined4 *)(puVar26 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar26 + -0x14) = 0x1ccec;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1ccec" (pointer_expression "*(undefined4 *)(puVar26 + -0x14)" * (cast_expression "(undefined4 *)(puVar26 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ccec:\n    *(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;" statement_identifier : (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x1977;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x1977" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cd0b" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar18 = (undefined1 *)((int)puVar25 + -0x10);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\nLAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;\n    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;\n    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));\n    pMVar10->worker_pool = pMVar19;\n    if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }\n    if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;\n    piVar6 = __errno_location();\n    puVar18 = (undefined1 *)puVar25;\n    if (*piVar6 != 9) goto LAB_0001ca3b;\n  }" else (compound_statement "{\nLAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;\n    *(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;\n    pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));\n    pMVar10->worker_pool = pMVar19;\n    if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }\n    if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);\n    *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;\n    iVar13 = close(*(int *)((int)puVar25 + -0x10));\n    if (iVar13 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar25 + -4) = 0x1ca32;\n    piVar6 = __errno_location();\n    puVar18 = (undefined1 *)puVar25;\n    if (*piVar6 != 9) goto LAB_0001ca3b;\n  }" { (labeled_statement "LAB_0001c828:\n    pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;" statement_identifier : (expression_statement "pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit;" (assignment_expression "pMVar29 = (MHD_mutex_ *)pMVar10->connection_limit" identifier = (cast_expression "(MHD_mutex_ *)pMVar10->connection_limit" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pMVar10->connection_limit" identifier -> field_identifier))) ;)) (expression_statement "*(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = (int)p_Var17 * 0x130" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)p_Var17 * 0x130" (cast_expression "(int)p_Var17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c83d" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10));" (assignment_expression "pMVar19 = (MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10))" identifier = (cast_expression "(MHD_Daemon *)malloc(*(size_t *)((int)puVar25 + -0x10))" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "malloc(*(size_t *)((int)puVar25 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar25 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar25 + -0x10)" * (cast_expression "(size_t *)((int)puVar25 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (expression_statement "pMVar10->worker_pool = pMVar19;" (assignment_expression "pMVar10->worker_pool = pMVar19" (field_expression "pMVar10->worker_pool" identifier -> field_identifier) = identifier) ;) (if_statement "if (pMVar19 != (MHD_Daemon *)0x0) {\n      *(undefined4 *)((int)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }" if (parenthesized_expression "(pMVar19 != (MHD_Daemon *)0x0)" ( (binary_expression "pMVar19 != (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)puVar25 + 0x18) = 0;\n      *(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;\n      *(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;\n      while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }\n      *(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;\n      piVar6 = __errno_location();\n      *(int *)((int)puVar25 + -0x10) = *piVar6;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;\n      pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n      *(char **)((int)puVar25 + -8) = pcVar16;\n      *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;\n      puVar18 = (undefined1 *)((int)puVar25 + -0x10);\n      *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;\n      MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n      *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar25 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + 0x18)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x18)" ( (binary_expression "(int)puVar25 + 0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17;" (assignment_expression "*(uint *)((int)puVar25 + 0x24) = (uint)pMVar29 / (uint)p_Var17" (pointer_expression "*(uint *)((int)puVar25 + 0x24)" * (cast_expression "(uint *)((int)puVar25 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x24)" ( (binary_expression "(int)puVar25 + 0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)pMVar29 / (uint)p_Var17" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)p_Var17" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17;" (assignment_expression "*(uint *)((int)puVar25 + 0x28) = (uint)pMVar29 % (uint)p_Var17" (pointer_expression "*(uint *)((int)puVar25 + 0x28)" * (cast_expression "(uint *)((int)puVar25 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x28)" ( (binary_expression "(int)puVar25 + 0x28" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)pMVar29 % (uint)p_Var17" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)p_Var17" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1;" (assignment_expression "*(uint *)((int)puVar25 + 0x2c) = (uint)pMVar29 / (uint)p_Var17 + 1" (pointer_expression "*(uint *)((int)puVar25 + 0x2c)" * (cast_expression "(uint *)((int)puVar25 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x2c)" ( (binary_expression "(int)puVar25 + 0x2c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)pMVar29 / (uint)p_Var17 + 1" (binary_expression "(uint)pMVar29 / (uint)p_Var17" (cast_expression "(uint)pMVar29" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)p_Var17" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal)) ;) (while_statement "while( true ) {\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));\n        pMVar19->default_handler = pMVar10->default_handler;\n        p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);\n        iVar13 = (int)pMVar19 - (int)p_Var17;\n        pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;\n        pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);\n        for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }\n        pMVar19->master = pMVar10;\n        pMVar19->worker_pool_size = 0;\n        pMVar19->worker_pool = (MHD_Daemon *)0x0;\n        if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar7 = *(uint *)((int)puVar25 + 0x2c);\n        if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }\n        pMVar19->connection_limit = uVar7;\n        if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }\n        pMVar29 = &pMVar19->cleanup_connection_mutex;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0xc) = 0;\n        *(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;\n        iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        puVar18 = (undefined1 *)puVar25;\n        if (iVar13 != 0) goto LAB_0001cc38;\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;\n        *(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;\n        *(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;\n        *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n        *(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;\n        *(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;\n        *(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;\n        iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));\n        pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n        if (iVar13 == 0) break;\n        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;\n        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;\n        if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;\n        pMVar19 = pMVar10->worker_pool;\n      }" { (expression_statement "pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18));" (assignment_expression "pMVar19 = (MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18))" identifier = (cast_expression "(MHD_Daemon *)((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18))" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18))" ( (binary_expression "(int)&pMVar19->default_handler + *(int *)((int)puVar25 + 0x18)" (cast_expression "(int)&pMVar19->default_handler" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar19->default_handler" & (field_expression "pMVar19->default_handler" identifier -> field_identifier))) + (pointer_expression "*(int *)((int)puVar25 + 0x18)" * (cast_expression "(int *)((int)puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x18)" ( (binary_expression "(int)puVar25 + 0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;) (expression_statement "pMVar19->default_handler = pMVar10->default_handler;" (assignment_expression "pMVar19->default_handler = pMVar10->default_handler" (field_expression "pMVar19->default_handler" identifier -> field_identifier) = (field_expression "pMVar10->default_handler" identifier -> field_identifier)) ;) (expression_statement "p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc);" (assignment_expression "p_Var17 = (MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc)" identifier = (call_expression "(MHD_AccessHandlerCallback)((uint)&pMVar19->default_handler_cls & 0xfffffffc)" (parenthesized_expression "(MHD_AccessHandlerCallback)" ( identifier )) (argument_list "((uint)&pMVar19->default_handler_cls & 0xfffffffc)" ( (binary_expression "(uint)&pMVar19->default_handler_cls & 0xfffffffc" (binary_expression "(uint)&pMVar19->default_handler_cls" (parenthesized_expression "(uint)" ( identifier )) & (field_expression "pMVar19->default_handler_cls" identifier -> field_identifier)) & number_literal) )))) ;) (expression_statement "iVar13 = (int)pMVar19 - (int)p_Var17;" (assignment_expression "iVar13 = (int)pMVar19 - (int)p_Var17" identifier = (binary_expression "(int)pMVar19 - (int)p_Var17" (cast_expression "(int)pMVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)p_Var17" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pMVar19->listen_backlog_size = pMVar10->listen_backlog_size;" (assignment_expression "pMVar19->listen_backlog_size = pMVar10->listen_backlog_size" (field_expression "pMVar19->listen_backlog_size" identifier -> field_identifier) = (field_expression "pMVar10->listen_backlog_size" identifier -> field_identifier)) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((int)pMVar10 - iVar13)" identifier = (cast_expression "(MHD_mutex_ *)((int)pMVar10 - iVar13)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar10 - iVar13)" ( (binary_expression "(int)pMVar10 - iVar13" (cast_expression "(int)pMVar10" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (for_statement "for (uVar7 = iVar13 + 0x130U >> 2; uVar7 != 0; uVar7 = uVar7 - 1) {\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }" for ( (assignment_expression "uVar7 = iVar13 + 0x130U >> 2" identifier = (binary_expression "iVar13 + 0x130U >> 2" (binary_expression "iVar13 + 0x130U" identifier + number_literal) >> number_literal)) ; (binary_expression "uVar7 != 0" identifier != number_literal) ; (assignment_expression "uVar7 = uVar7 - 1" identifier = (binary_expression "uVar7 - 1" identifier - number_literal)) ) (compound_statement "{\n          *(int *)p_Var17 = (pMVar29->__data).__lock;\n          pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);\n          p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;\n        }" { (expression_statement "*(int *)p_Var17 = (pMVar29->__data).__lock;" (assignment_expression "*(int *)p_Var17 = (pMVar29->__data).__lock" (pointer_expression "*(int *)p_Var17" * (cast_expression "(int *)p_Var17" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "(pMVar29->__data).__lock" (parenthesized_expression "(pMVar29->__data)" ( (field_expression "pMVar29->__data" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4);" (assignment_expression "pMVar29 = (MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4)" identifier = (cast_expression "(MHD_mutex_ *)((int)pMVar29 + (uint)bVar31 * -8 + 4)" ( (type_descriptor "MHD_mutex_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pMVar29 + (uint)bVar31 * -8 + 4)" ( (binary_expression "(int)pMVar29 + (uint)bVar31 * -8 + 4" (binary_expression "(int)pMVar29 + (uint)bVar31 * -8" (cast_expression "(int)pMVar29" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar31 * -8" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4;" (assignment_expression "p_Var17 = p_Var17 + ((uint)bVar31 * -2 + 1) * 4" identifier = (binary_expression "p_Var17 + ((uint)bVar31 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar31 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar31 * -2 + 1)" ( (binary_expression "(uint)bVar31 * -2 + 1" (binary_expression "(uint)bVar31 * -2" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) (expression_statement "pMVar19->master = pMVar10;" (assignment_expression "pMVar19->master = pMVar10" (field_expression "pMVar19->master" identifier -> field_identifier) = identifier) ;) (expression_statement "pMVar19->worker_pool_size = 0;" (assignment_expression "pMVar19->worker_pool_size = 0" (field_expression "pMVar19->worker_pool_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "pMVar19->worker_pool = (MHD_Daemon *)0x0;" (assignment_expression "pMVar19->worker_pool = (MHD_Daemon *)0x0" (field_expression "pMVar19->worker_pool" identifier -> field_identifier) = (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG) {\n          (pMVar19->itc).fd = -1;\n        }\n        else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" if (parenthesized_expression "((pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_ITC) == MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_ITC)" ( (binary_expression "pMVar10->options & MHD_USE_ITC" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n          (pMVar19->itc).fd = -1;\n        }" { (expression_statement "(pMVar19->itc).fd = -1;" (assignment_expression "(pMVar19->itc).fd = -1" (field_expression "(pMVar19->itc).fd" (parenthesized_expression "(pMVar19->itc)" ( (field_expression "pMVar19->itc" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) }) (else_clause "else {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" else (compound_statement "{\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar25 + -0x10) = 0;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;\n          iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));\n          (pMVar19->itc).fd = iVar13;\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }\n          if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" { (expression_statement "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c99a" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc))" identifier = (call_expression "eventfd(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "(pMVar19->itc).fd = iVar13;" (assignment_expression "(pMVar19->itc).fd = iVar13" (field_expression "(pMVar19->itc).fd" (parenthesized_expression "(pMVar19->itc)" ( (field_expression "pMVar19->itc" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);" (assignment_expression "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar13 == -1) {\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }" if (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)puVar25 + -4) = 0x1cc67;\n            piVar6 = __errno_location();\n            *(int *)((int)puVar25 + -0x10) = *piVar6;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;\n            pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));\n            *(char **)((int)puVar25 + -8) = pcVar16;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            goto LAB_0001ca07;\n          }" { (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cc67;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cc67" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc71" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc3eb" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc3eb" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc82" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;) })) (if_statement "if (((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             ) {\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" if (parenthesized_expression "(((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)\n             )" ( (binary_expression "((pMVar10->options & (MHD_USE_EPOLL|MHD_USE_POLL)) == MHD_NO_FLAG) && (0x3ff < iVar13)" (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) )) && (parenthesized_expression "(0x3ff < iVar13)" ( (binary_expression "0x3ff < iVar13" number_literal < identifier) ))) )) (compound_statement "{\n            *(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;\n            *(undefined4 *)((int)puVar25 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar25 + -8) = extraout_ECX;\n            *(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;\n            *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;\n            MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));\n            pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);\n            *(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;\n            iVar13 = close(*(int *)((int)puVar25 + -0x10));\n            if (iVar13 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;\n            piVar6 = __errno_location();\n            if (*piVar6 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" { (expression_statement "*(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + 0x18) = pMVar19" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x18)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x18)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x18)" ( (binary_expression "(int)puVar25 + 0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc42b" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc42b" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c9e2" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10);" (assignment_expression "pMVar29 = *(MHD_mutex_ **)((int)puVar25 + -0x10)" identifier = (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8)" * (cast_expression "(undefined4 *)(*(int *)((int)puVar25 + 0x18) + 0xd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)puVar25 + 0x18) + 0xd8)" ( (binary_expression "*(int *)((int)puVar25 + 0x18) + 0xd8" (pointer_expression "*(int *)((int)puVar25 + 0x18)" * (cast_expression "(int *)((int)puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x18)" ( (binary_expression "(int)puVar25 + 0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c9f2" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001ca07;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c9fe;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c9fe" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar6 != 9) goto LAB_0001ca07;" if (parenthesized_expression "(*piVar6 != 9)" ( (binary_expression "*piVar6 != 9" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) (goto_statement "goto LAB_0001ccec;" goto statement_identifier ;) })) }))) (expression_statement "uVar7 = *(uint *)((int)puVar25 + 0x2c);" (assignment_expression "uVar7 = *(uint *)((int)puVar25 + 0x2c)" identifier = (pointer_expression "*(uint *)((int)puVar25 + 0x2c)" * (cast_expression "(uint *)((int)puVar25 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x2c)" ( (binary_expression "(int)puVar25 + 0x2c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)) {\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }" if (parenthesized_expression "(*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20))" ( (binary_expression "*(uint *)((int)puVar25 + 0x28) <= *(uint *)((int)puVar25 + 0x20)" (pointer_expression "*(uint *)((int)puVar25 + 0x28)" * (cast_expression "(uint *)((int)puVar25 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x28)" ( (binary_expression "(int)puVar25 + 0x28" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) <= (pointer_expression "*(uint *)((int)puVar25 + 0x20)" * (cast_expression "(uint *)((int)puVar25 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x20)" ( (binary_expression "(int)puVar25 + 0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n          uVar7 = *(uint *)((int)puVar25 + 0x24);\n        }" { (expression_statement "uVar7 = *(uint *)((int)puVar25 + 0x24);" (assignment_expression "uVar7 = *(uint *)((int)puVar25 + 0x24)" identifier = (pointer_expression "*(uint *)((int)puVar25 + 0x24)" * (cast_expression "(uint *)((int)puVar25 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x24)" ( (binary_expression "(int)puVar25 + 0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "pMVar19->connection_limit = uVar7;" (assignment_expression "pMVar19->connection_limit = uVar7" (field_expression "pMVar19->connection_limit" identifier -> field_identifier) = identifier) ;) (if_statement "if ((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG) {\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }" if (parenthesized_expression "((pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG)" ( (binary_expression "(pMVar10->options & MHD_USE_EPOLL) != MHD_NO_FLAG" (parenthesized_expression "(pMVar10->options & MHD_USE_EPOLL)" ( (binary_expression "pMVar10->options & MHD_USE_EPOLL" (field_expression "pMVar10->options" identifier -> field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n          *(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;\n          *(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;\n          MVar11 = setup_epoll_to_listen(pMVar19);\n          pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);\n          if (MVar11 != MHD_YES) goto LAB_0001ca07;\n        }" { (expression_statement "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1c8ad;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1c8ad" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MVar11 = setup_epoll_to_listen(pMVar19);" (assignment_expression "MVar11 = setup_epoll_to_listen(pMVar19)" identifier = (call_expression "setup_epoll_to_listen(pMVar19)" identifier (argument_list "(pMVar19)" ( identifier )))) ;) (expression_statement "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);" (assignment_expression "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (MVar11 != MHD_YES) goto LAB_0001ca07;" if (parenthesized_expression "(MVar11 != MHD_YES)" ( (binary_expression "MVar11 != MHD_YES" identifier != identifier) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) })) (expression_statement "pMVar29 = &pMVar19->cleanup_connection_mutex;" (assignment_expression "pMVar29 = &pMVar19->cleanup_connection_mutex" identifier = (pointer_expression "&pMVar19->cleanup_connection_mutex" & (field_expression "pMVar19->cleanup_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar25 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1c8cf" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc));" (assignment_expression "iVar13 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10),\n                                    *(pthread_mutexattr_t **)((int)puVar25 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar25 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar25 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);" (assignment_expression "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar18 = (undefined1 *)puVar25;" (assignment_expression "puVar18 = (undefined1 *)puVar25" identifier = (cast_expression "(undefined1 *)puVar25" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar13 != 0) goto LAB_0001cc38;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cc38;" goto statement_identifier ;)) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar19" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar25 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar25 + -0x14)" * (cast_expression "(int *)((int)puVar25 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + -0x8d9" identifier + number_literal)) ;) (expression_statement "*(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size;" (assignment_expression "*(size_t *)((int)puVar25 + -0x18) = pMVar10->thread_stack_size" (pointer_expression "*(size_t *)((int)puVar25 + -0x18)" * (cast_expression "(size_t *)((int)puVar25 + -0x18)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->thread_stack_size" identifier -> field_identifier)) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341;" (assignment_expression "*(int *)((int)puVar25 + -0x1c) = iVar8 + 0xb341" (pointer_expression "*(int *)((int)puVar25 + -0x1c)" * (cast_expression "(int *)((int)puVar25 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb341" identifier + number_literal)) ;) (expression_statement "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid;" (assignment_expression "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20) = &pMVar19->pid" (pointer_expression "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" * (cast_expression "(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" ( (type_descriptor "MHD_thread_handle_ID_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&pMVar19->pid" & (field_expression "pMVar19->pid" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c906;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x24) = 0x1c906" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x24)" ( (binary_expression "(int)puVar25 + -0x24" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10))" identifier = (call_expression "MHD_create_named_thread_\n                           (*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10))" identifier (argument_list "(*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20),\n                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),\n                            *(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14),\n                            *(void **)((int)puVar25 + -0x10))" ( (pointer_expression "*(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" * (cast_expression "(MHD_thread_handle_ID_ **)((int)puVar25 + -0x20)" ( (type_descriptor "MHD_thread_handle_ID_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x20)" ( (binary_expression "(int)puVar25 + -0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0x1c)" * (cast_expression "(char **)((int)puVar25 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x1c)" ( (binary_expression "(int)puVar25 + -0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(size_t *)((int)puVar25 + -0x18)" * (cast_expression "(size_t *)((int)puVar25 + -0x18)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x18)" ( (binary_expression "(int)puVar25 + -0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14)" * (cast_expression "(MHD_THREAD_START_ROUTINE_ *)((int)puVar25 + -0x14)" ( (type_descriptor "MHD_THREAD_START_ROUTINE_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar25 + -0x10)" * (cast_expression "(void **)((int)puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c);" (assignment_expression "pMVar10 = *(MHD_Daemon **)((int)puVar25 + 0x1c)" identifier = (pointer_expression "*(MHD_Daemon **)((int)puVar25 + 0x1c)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + 0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + 0x1c)" ( (binary_expression "(int)puVar25 + 0x1c" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar13 == 0) break;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;" (assignment_expression "*(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar25 + 0x20)" * (cast_expression "(int *)((int)puVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x20)" ( (binary_expression "(int)puVar25 + 0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)puVar25 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar25 + 0x20)" * (cast_expression "(int *)((int)puVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x20)" ( (binary_expression "(int)puVar25 + 0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;" (assignment_expression "*(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar25 + 0x18)" * (cast_expression "(int *)((int)puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x18)" ( (binary_expression "(int)puVar25 + 0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)puVar25 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar25 + 0x18)" * (cast_expression "(int *)((int)puVar25 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x18)" ( (binary_expression "(int)puVar25 + 0x18" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (if_statement "if (pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)) goto LAB_0001bf79;" if (parenthesized_expression "(pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20))" ( (binary_expression "pMVar10->worker_pool_size <= *(uint *)((int)puVar25 + 0x20)" (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier) <= (pointer_expression "*(uint *)((int)puVar25 + 0x20)" * (cast_expression "(uint *)((int)puVar25 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x20)" ( (binary_expression "(int)puVar25 + 0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "pMVar19 = pMVar10->worker_pool;" (assignment_expression "pMVar19 = pMVar10->worker_pool" identifier = (field_expression "pMVar10->worker_pool" identifier -> field_identifier)) ;) })) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1cbe5;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1cbe5" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar25 + -0x10) = *piVar6;" (assignment_expression "*(int *)((int)puVar25 + -0x10) = *piVar6" (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cbef" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10));" (assignment_expression "pcVar16 = strerror(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar25 + -8) = pcVar16;" (assignment_expression "*(char **)((int)puVar25 + -8) = pcVar16" (pointer_expression "*(char **)((int)puVar25 + -8)" * (cast_expression "(char **)((int)puVar25 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xc4b7" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc4b7" identifier + number_literal)) ;) (expression_statement "puVar18 = (undefined1 *)((int)puVar25 + -0x10);" (assignment_expression "puVar18 = (undefined1 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc00" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar25 + -0xc)" * (cast_expression "(char **)((int)puVar25 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29;" (assignment_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10) = pMVar29" (pointer_expression "*(MHD_mutex_ **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_mutex_ **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc08" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 != 0) {\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar25 + -8) = 0x19a1;\n        *(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n        pcVar4 = *(code **)(iVar8 + 0x14633);\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;\n        (*pcVar4)();\n        pMVar10 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;\n        *(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;\n        *(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;\n        MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n        puVar25 = (undefined4 *)puVar18;\n      }" { (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x19a1;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x19a1" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cc32" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pMVar10 = extraout_EDX;" (assignment_expression "pMVar10 = extraout_EDX" identifier = identifier) ;) (labeled_statement "LAB_0001cc38:\n        *(int *)(puVar18 + -0xc) = iVar8 + 0xc483;" statement_identifier : (expression_statement "*(int *)(puVar18 + -0xc) = iVar8 + 0xc483;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar8 + 0xc483" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xc483" identifier + number_literal)) ;)) (expression_statement "*(MHD_Daemon **)(puVar18 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)(puVar18 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)(puVar18 + -0x10)" * (cast_expression "(MHD_Daemon **)(puVar18 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1cc4a;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1cc4a" (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 "MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(MHD_Daemon **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(MHD_Daemon **)(puVar18 + -0x10)" * (cast_expression "(MHD_Daemon **)(puVar18 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (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) )))) ))) ;) (expression_statement "puVar25 = (undefined4 *)puVar18;" (assignment_expression "puVar25 = (undefined4 *)puVar18" identifier = (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (labeled_statement "LAB_0001ca07:\n      if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }" statement_identifier : (if_statement "if (*(int *)((int)puVar25 + 0x20) != 0) {\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }" if (parenthesized_expression "(*(int *)((int)puVar25 + 0x20) != 0)" ( (binary_expression "*(int *)((int)puVar25 + 0x20) != 0" (pointer_expression "*(int *)((int)puVar25 + 0x20)" * (cast_expression "(int *)((int)puVar25 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x20)" ( (binary_expression "(int)puVar25 + 0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);\n        *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;\n        *(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));\n        goto LAB_0001bf79;\n      }" { (expression_statement "pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20);" (assignment_expression "pMVar10->worker_pool_size = *(uint *)((int)puVar25 + 0x20)" (field_expression "pMVar10->worker_pool_size" identifier -> field_identifier) = (pointer_expression "*(uint *)((int)puVar25 + 0x20)" * (cast_expression "(uint *)((int)puVar25 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x20)" ( (binary_expression "(int)puVar25 + 0x20" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1bfc5" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10));" (call_expression "MHD_stop_daemon(*(MHD_Daemon **)((int)puVar25 + -0x10))" identifier (argument_list "(*(MHD_Daemon **)((int)puVar25 + -0x10))" ( (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) }))) })) (if_statement "if (*(int *)((int)puVar25 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }" if (parenthesized_expression "(*(int *)((int)puVar25 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar25 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar25 + 0x10)" * (cast_expression "(int *)((int)puVar25 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);\n      *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;\n      iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));\n      puVar18 = (undefined1 *)puVar25;\n      if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar18 + -8) = 0x19ba;\n      *(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;\n      puVar26 = puVar18 + -0x10;\n      *(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);\n      pcVar4 = *(code **)(iVar8 + 0x14633);\n      *(undefined4 *)(puVar18 + -0x14) = 0x1cccd;\n      (*pcVar4)();\n      goto LAB_0001cccd;\n    }" { (labeled_statement "LAB_0001ca3b:\n      *(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar25 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0xc)" ( (binary_expression "(int)puVar25 + 0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ca47" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar25 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar25 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar25 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar25 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar18 = (undefined1 *)puVar25;" (assignment_expression "puVar18 = (undefined1 *)puVar25" identifier = (cast_expression "(undefined1 *)puVar25" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar13 == 0) {\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" { (if_statement "if (pMVar10->worker_pool != (MHD_Daemon *)0x0) {\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }" if (parenthesized_expression "(pMVar10->worker_pool != (MHD_Daemon *)0x0)" ( (binary_expression "pMVar10->worker_pool != (MHD_Daemon *)0x0" (field_expression "pMVar10->worker_pool" identifier -> field_identifier) != (cast_expression "(MHD_Daemon *)0x0" ( (type_descriptor "MHD_Daemon *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;\n          *(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar25 + -0x10));\n        }" { (expression_statement "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool;" (assignment_expression "*(MHD_Daemon **)((int)puVar25 + -0x10) = pMVar10->worker_pool" (pointer_expression "*(MHD_Daemon **)((int)puVar25 + -0x10)" * (cast_expression "(MHD_Daemon **)((int)puVar25 + -0x10)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (field_expression "pMVar10->worker_pool" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ca66" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar25 + -0x10));" (call_expression "free(*(void **)((int)puVar25 + -0x10))" identifier (argument_list "(*(void **)((int)puVar25 + -0x10))" ( (pointer_expression "*(void **)((int)puVar25 + -0x10)" * (cast_expression "(void **)((int)puVar25 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ccae:\n      *(int *)(puVar18 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)(puVar18 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar18 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar18 + -4)" * (cast_expression "(int *)(puVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x19ba;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x19ba" (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 "*(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar18 + -0x10;" (assignment_expression "puVar26 = puVar18 + -0x10" identifier = (binary_expression "puVar18 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (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) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1cccd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1cccd" (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 "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cccd;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)((int)puVar25 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar25 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + 0x10)" ( (binary_expression "(int)puVar25 + 0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1ca26" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar13 = close(*(int *)((int)puVar25 + -0x10));" (assignment_expression "iVar13 = close(*(int *)((int)puVar25 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar25 + -0x10))" identifier (argument_list "(*(int *)((int)puVar25 + -0x10))" ( (pointer_expression "*(int *)((int)puVar25 + -0x10)" * (cast_expression "(int *)((int)puVar25 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar13 == 0) goto LAB_0001ca3b;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001ca3b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -4) = 0x1ca32;" (assignment_expression "*(undefined4 *)((int)puVar25 + -4) = 0x1ca32" (pointer_expression "*(undefined4 *)((int)puVar25 + -4)" * (cast_expression "(undefined4 *)((int)puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar18 = (undefined1 *)puVar25;" (assignment_expression "puVar18 = (undefined1 *)puVar25" identifier = (cast_expression "(undefined1 *)puVar25" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*piVar6 != 9) goto LAB_0001ca3b;" if (parenthesized_expression "(*piVar6 != 9)" ( (binary_expression "*piVar6 != 9" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_0001ca3b;" goto statement_identifier ;)) }))) (expression_statement "*(int *)(puVar18 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)(puVar18 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)(puVar18 + -4)" * (cast_expression "(int *)(puVar18 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 0x19b9;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 0x19b9" (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 "*(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar18 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar18 + -0xc)" * (cast_expression "(int *)(puVar18 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar25 = (undefined4 *)(puVar18 + -0x10);" (assignment_expression "puVar25 = (undefined4 *)(puVar18 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (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) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x1cd2a;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x1cd2a" (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 "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cd2a:\n  *(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar25 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar25 + -4)" * (cast_expression "(int *)((int)puVar25 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -4)" ( (binary_expression "(int)puVar25 + -4" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar25 + -8) = 0x193c;" (assignment_expression "*(undefined4 *)((int)puVar25 + -8) = 0x193c" (pointer_expression "*(undefined4 *)((int)puVar25 + -8)" * (cast_expression "(undefined4 *)((int)puVar25 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -8)" ( (binary_expression "(int)puVar25 + -8" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar25 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar25 + -0xc)" * (cast_expression "(int *)((int)puVar25 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0xc)" ( (binary_expression "(int)puVar25 + -0xc" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar27 = (undefined4 *)((int)puVar25 + -0x10);" (assignment_expression "puVar27 = (undefined4 *)((int)puVar25 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x10) = *(undefined4 *)(iVar8 + 0x1462f)" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x10)" ( (binary_expression "(int)puVar25 + -0x10" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cd49;" (assignment_expression "*(undefined4 *)((int)puVar25 + -0x14) = 0x1cd49" (pointer_expression "*(undefined4 *)((int)puVar25 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar25 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar25 + -0x14)" ( (binary_expression "(int)puVar25 + -0x14" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cd49:\n  puVar27[-1] = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "puVar27[-1] = iVar8 + 0xb2e1;" (assignment_expression "puVar27[-1] = iVar8 + 0xb2e1" (subscript_expression "puVar27[-1]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "puVar27[-2] = 0x190e;" (assignment_expression "puVar27[-2] = 0x190e" (subscript_expression "puVar27[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-3] = iVar8 + 0xb1ff;" (assignment_expression "puVar27[-3] = iVar8 + 0xb1ff" (subscript_expression "puVar27[-3]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar27[-4] = *(undefined4 *)(iVar8 + 0x1462f);" (assignment_expression "puVar27[-4] = *(undefined4 *)(iVar8 + 0x1462f)" (subscript_expression "puVar27[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(iVar8 + 0x1462f)" * (cast_expression "(undefined4 *)(iVar8 + 0x1462f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x1462f)" ( (binary_expression "iVar8 + 0x1462f" identifier + number_literal) ))))) ;) (expression_statement "pcVar4 = *(code **)(iVar8 + 0x14633);" (assignment_expression "pcVar4 = *(code **)(iVar8 + 0x14633)" identifier = (pointer_expression "*(code **)(iVar8 + 0x14633)" * (cast_expression "(code **)(iVar8 + 0x14633)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + 0x14633)" ( (binary_expression "iVar8 + 0x14633" identifier + number_literal) ))))) ;) (expression_statement "puVar27[-5] = 0x1cd68;" (assignment_expression "puVar27[-5] = 0x1cd68" (subscript_expression "puVar27[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar4)();" (call_expression "(*pcVar4)()" (parenthesized_expression "(*pcVar4)" ( (pointer_expression "*pcVar4" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar27[-5] = iVar8 + 0x144c7;" (assignment_expression "puVar27[-5] = iVar8 + 0x144c7" (subscript_expression "puVar27[-5]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0x144c7" identifier + number_literal)) ;) (expression_statement "puVar27[-6] = 0x1cd76;" (assignment_expression "puVar27[-6] = 0x1cd76" (subscript_expression "puVar27[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27[-9] = puVar27 + 3;" (assignment_expression "puVar27[-9] = puVar27 + 3" (subscript_expression "puVar27[-9]" identifier [ number_literal ]) = (binary_expression "puVar27 + 3" identifier + number_literal)) ;) (expression_statement "puVar27[-10] = puVar27[2];" (assignment_expression "puVar27[-10] = puVar27[2]" (subscript_expression "puVar27[-10]" identifier [ number_literal ]) = (subscript_expression "puVar27[2]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0xb] = puVar27[1];" (assignment_expression "puVar27[-0xb] = puVar27[1]" (subscript_expression "puVar27[-0xb]" identifier [ number_literal ]) = (subscript_expression "puVar27[1]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0xc] = *puVar27;" (assignment_expression "puVar27[-0xc] = *puVar27" (subscript_expression "puVar27[-0xc]" identifier [ number_literal ]) = (pointer_expression "*puVar27" * identifier)) ;) (expression_statement "puVar27[-0xd] = puVar27[-1];" (assignment_expression "puVar27[-0xd] = puVar27[-1]" (subscript_expression "puVar27[-0xd]" identifier [ number_literal ]) = (subscript_expression "puVar27[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0xe] = (uint)*(ushort *)(puVar27 + -2);" (assignment_expression "puVar27[-0xe] = (uint)*(ushort *)(puVar27 + -2)" (subscript_expression "puVar27[-0xe]" identifier [ number_literal ]) = (binary_expression "(uint)*(ushort *)(puVar27 + -2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar27 + -2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -2)" ( (binary_expression "puVar27 + -2" identifier + number_literal) ))))) ;) (expression_statement "puVar27[-0xf] = puVar27[-3];" (assignment_expression "puVar27[-0xf] = puVar27[-3]" (subscript_expression "puVar27[-0xf]" identifier [ number_literal ]) = (subscript_expression "puVar27[-3]" identifier [ number_literal ])) ;) (expression_statement "puVar27[-0x10] = 0x1cda6;" (assignment_expression "puVar27[-0x10] = 0x1cda6" (subscript_expression "puVar27[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "MHD_start_daemon_va(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),\n                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],\n                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],\n                      (va_list)puVar27[-9]);" (call_expression "MHD_start_daemon_va(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),\n                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],\n                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],\n                      (va_list)puVar27[-9])" identifier (argument_list "(puVar27[-0xf],*(uint16_t *)(puVar27 + -0xe),\n                      (MHD_AcceptPolicyCallback)puVar27[-0xd],(void *)puVar27[-0xc],\n                      (MHD_AccessHandlerCallback)puVar27[-0xb],(void *)puVar27[-10],\n                      (va_list)puVar27[-9])" ( (subscript_expression "puVar27[-0xf]" identifier [ number_literal ]) , (pointer_expression "*(uint16_t *)(puVar27 + -0xe)" * (cast_expression "(uint16_t *)(puVar27 + -0xe)" ( (type_descriptor "uint16_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xe)" ( (binary_expression "puVar27 + -0xe" identifier + number_literal) )))) , (cast_expression "(MHD_AcceptPolicyCallback)puVar27[-0xd]" ( (type_descriptor "MHD_AcceptPolicyCallback" type_identifier) ) (subscript_expression "puVar27[-0xd]" identifier [ number_literal ])) , (cast_expression "(void *)puVar27[-0xc]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-0xc]" identifier [ number_literal ])) , (cast_expression "(MHD_AccessHandlerCallback)puVar27[-0xb]" ( (type_descriptor "MHD_AccessHandlerCallback" type_identifier) ) (subscript_expression "puVar27[-0xb]" identifier [ number_literal ])) , (cast_expression "(void *)puVar27[-10]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar27[-10]" identifier [ number_literal ])) , (cast_expression "(va_list)puVar27[-9]" ( (type_descriptor "va_list" type_identifier) ) (subscript_expression "puVar27[-9]" identifier [ number_literal ])) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)\n\n{\n  undefined2 uVar1;\n  short sVar2;\n  code *pcVar3;\n  ssize_t sVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined *puVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  char *pcVar13;\n  int *piVar14;\n  undefined1 *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  undefined4 extraout_ECX;\n  undefined4 uVar18;\n  undefined4 *extraout_EDX;\n  undefined1 *puVar19;\n  undefined4 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  uint unaff_EBP;\n  int *piVar23;\n  undefined *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte bVar25;\n  undefined1 auStack_2c [12];\n  undefined *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar25 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar22 = auStack_2c;\n  puVar15 = auStack_2c;\n  puVar17 = (undefined4 *)auStack_2c;\n  puVar19 = auStack_2c;\n  if (param_2 == 0) {\n    return param_1;\n  }\n  *(undefined1 *)(param_2 + 0xdc) = 1;\n  puVar9 = *(undefined4 **)(param_2 + 0x74);\n  if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }\n  puVar17[-1] = "Failed to destroy mutex.\n";\n  puVar17[-2] = 0x1b33;\n  puVar17[-3] = "daemon.c";\n  puVar17[-4] = DAT_00030168;\n  puVar17[-5] = 0x1bb2f;\n  (*DAT_0003016c)();\n  puVar17[-5] = unaff_EBP;\n  puVar17[-6] = unaff_EDI;\n  puVar17[-7] = param_2;\n  puVar17[-8] = 0x30000;\n  puVar17[-9] = 0x1bb39;\n  iVar8 = puVar17[-9];\n  piVar5 = (int *)puVar17[-3];\n  piVar14 = (int *)puVar17[1];\n  puVar17[-0x3b] = 1;\n  puVar17[-0x44] = puVar17[-2];\n  puVar17[-0x3a] = 0;\n  puVar17[-0x43] = puVar17[-1];\n  puVar17[-0x42] = puVar17[2];\n  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar17[-0x3f] = (uint)piVar5 & 2;\n  puVar9 = puVar17 + -0x47;\n  if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }\nLAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;\nLAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }\n                    \n  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;\n  FUN_00025ce0();\n  while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;\n  iVar7 = FUN_0001e440();\n  *(int *)((int)puVar9 + 0x10) = iVar7;\n  if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;\n  piVar5 = __errno_location();\n  *(int *)((int)puVar9 + -0x10) = *piVar5;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;\n  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n  *(char **)((int)puVar9 + -8) = pcVar13;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;\n  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;\n  FUN_0001cf70();\nLAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }\n  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar9 + -0x10));\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;\n  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n  if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }\n  if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;\n  (*pcVar3)();\n  puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n  do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);\n  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;\n  piVar14 = (int *)puVar11[0x22];\n  if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar15 + -8) = 0x19b9;\n  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n  puVar9 = (undefined4 *)(puVar15 + -0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;\n  (*pcVar3)();\nLAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar9 + -8) = 0x193c;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  puVar17 = (undefined4 *)((int)puVar9 + -0x10);\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;\n  (*pcVar3)();\nLAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;\n  puVar17[-2] = 0x190e;\n  puVar17[-3] = iVar8 + 0xb1ff;\n  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  puVar17[-5] = 0x1cd68;\n  (*pcVar3)();\n  puVar17[-5] = &UNK_000144c7 + iVar8;\n  puVar17[-6] = 0x1cd76;\n  puVar17[-9] = puVar17 + 3;\n  puVar17[-10] = puVar17[2];\n  puVar17[-0xb] = puVar17[1];\n  puVar17[-0xc] = *puVar17;\n  puVar17[-0xd] = puVar17[-1];\n  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);\n  puVar17[-0xf] = puVar17[-3];\n  puVar17[-0x10] = 0x1cda6;\n  puVar17 = (undefined4 *)MHD_start_daemon_va();\n  return puVar17;\n}\n\n" (ERROR "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)" (binary_expression "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)" identifier * (ERROR "__regparm1" identifier) (call_expression "MHD_stop_daemon(undefined4 *param_1,int param_2)" identifier (argument_list "(undefined4 *param_1,int param_2)" ( (binary_expression "undefined4 *param_1" identifier * identifier) , (ERROR "int" identifier) identifier ))))) (compound_statement "{\n  undefined2 uVar1;\n  short sVar2;\n  code *pcVar3;\n  ssize_t sVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined *puVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  char *pcVar13;\n  int *piVar14;\n  undefined1 *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  undefined4 extraout_ECX;\n  undefined4 uVar18;\n  undefined4 *extraout_EDX;\n  undefined1 *puVar19;\n  undefined4 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  uint unaff_EBP;\n  int *piVar23;\n  undefined *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte bVar25;\n  undefined1 auStack_2c [12];\n  undefined *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar25 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar22 = auStack_2c;\n  puVar15 = auStack_2c;\n  puVar17 = (undefined4 *)auStack_2c;\n  puVar19 = auStack_2c;\n  if (param_2 == 0) {\n    return param_1;\n  }\n  *(undefined1 *)(param_2 + 0xdc) = 1;\n  puVar9 = *(undefined4 **)(param_2 + 0x74);\n  if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }\n  puVar17[-1] = "Failed to destroy mutex.\n";\n  puVar17[-2] = 0x1b33;\n  puVar17[-3] = "daemon.c";\n  puVar17[-4] = DAT_00030168;\n  puVar17[-5] = 0x1bb2f;\n  (*DAT_0003016c)();\n  puVar17[-5] = unaff_EBP;\n  puVar17[-6] = unaff_EDI;\n  puVar17[-7] = param_2;\n  puVar17[-8] = 0x30000;\n  puVar17[-9] = 0x1bb39;\n  iVar8 = puVar17[-9];\n  piVar5 = (int *)puVar17[-3];\n  piVar14 = (int *)puVar17[1];\n  puVar17[-0x3b] = 1;\n  puVar17[-0x44] = puVar17[-2];\n  puVar17[-0x3a] = 0;\n  puVar17[-0x43] = puVar17[-1];\n  puVar17[-0x42] = puVar17[2];\n  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar17[-0x3f] = (uint)piVar5 & 2;\n  puVar9 = puVar17 + -0x47;\n  if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }\nLAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;\nLAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }\n                    \n  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;\n  FUN_00025ce0();\n  while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;\n  iVar7 = FUN_0001e440();\n  *(int *)((int)puVar9 + 0x10) = iVar7;\n  if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;\n  piVar5 = __errno_location();\n  *(int *)((int)puVar9 + -0x10) = *piVar5;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;\n  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n  *(char **)((int)puVar9 + -8) = pcVar13;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;\n  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;\n  FUN_0001cf70();\nLAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }\n  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar9 + -0x10));\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;\n  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n  if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }\n  if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;\n  (*pcVar3)();\n  puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n  do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);\n  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;\n  piVar14 = (int *)puVar11[0x22];\n  if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar15 + -8) = 0x19b9;\n  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n  puVar9 = (undefined4 *)(puVar15 + -0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;\n  (*pcVar3)();\nLAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar9 + -8) = 0x193c;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  puVar17 = (undefined4 *)((int)puVar9 + -0x10);\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;\n  (*pcVar3)();\nLAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;\n  puVar17[-2] = 0x190e;\n  puVar17[-3] = iVar8 + 0xb1ff;\n  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  puVar17[-5] = 0x1cd68;\n  (*pcVar3)();\n  puVar17[-5] = &UNK_000144c7 + iVar8;\n  puVar17[-6] = 0x1cd76;\n  puVar17[-9] = puVar17 + 3;\n  puVar17[-10] = puVar17[2];\n  puVar17[-0xb] = puVar17[1];\n  puVar17[-0xc] = *puVar17;\n  puVar17[-0xd] = puVar17[-1];\n  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);\n  puVar17[-0xf] = puVar17[-3];\n  puVar17[-0x10] = 0x1cda6;\n  puVar17 = (undefined4 *)MHD_start_daemon_va();\n  return puVar17;\n}" { (declaration "undefined2 uVar1;" type_identifier identifier ;) (declaration "short sVar2;" (sized_type_specifier "short" short) identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "ssize_t sVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "void *pvVar12;" primitive_type (pointer_declarator "*pvVar12" * identifier) ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined4 *extraout_EDX;" type_identifier (pointer_declarator "*extraout_EDX" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 *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 "uint unaff_EBP;" type_identifier identifier ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "undefined *unaff_EDI;" type_identifier (pointer_declarator "*unaff_EDI" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "byte bVar25;" type_identifier identifier ;) (declaration "undefined1 auStack_2c [12];" type_identifier (array_declarator "auStack_2c [12]" identifier [ number_literal ]) ;) (declaration "undefined *puStack_20;" type_identifier (pointer_declarator "*puStack_20" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (declaration "undefined4 uStack_10;" type_identifier identifier ;) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" identifier = number_literal) ;) (expression_statement "uStack_10 = 0x30000;" (assignment_expression "uStack_10 = 0x30000" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x1b6f9;" (assignment_expression "uStack_14 = 0x1b6f9" identifier = number_literal) ;) (expression_statement "puVar22 = auStack_2c;" (assignment_expression "puVar22 = auStack_2c" identifier = identifier) ;) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" identifier = identifier) ;) (expression_statement "puVar17 = (undefined4 *)auStack_2c;" (assignment_expression "puVar17 = (undefined4 *)auStack_2c" identifier = (cast_expression "(undefined4 *)auStack_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar19 = auStack_2c;" (assignment_expression "puVar19 = auStack_2c" identifier = identifier) ;) (if_statement "if (param_2 == 0) {\n    return param_1;\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n    return param_1;\n  }" { (return_statement "return param_1;" return identifier ;) })) (expression_statement "*(undefined1 *)(param_2 + 0xdc) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0xdc) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0xdc)" * (cast_expression "(undefined1 *)(param_2 + 0xdc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xdc)" ( (binary_expression "param_2 + 0xdc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar9 = *(undefined4 **)(param_2 + 0x74);" (assignment_expression "puVar9 = *(undefined4 **)(param_2 + 0x74)" identifier = (pointer_expression "*(undefined4 **)(param_2 + 0x74)" * (cast_expression "(undefined4 **)(param_2 + 0x74)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" if (parenthesized_expression "(*(char *)(param_2 + 0xdd) == '\0')" ( (binary_expression "*(char *)(param_2 + 0xdd) == '\0'" (pointer_expression "*(char *)(param_2 + 0xdd)" * (cast_expression "(char *)(param_2 + 0xdd)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xdd)" ( (binary_expression "param_2 + 0xdd" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }" { (expression_statement "unaff_EDI = *(undefined **)(param_2 + 200);" (assignment_expression "unaff_EDI = *(undefined **)(param_2 + 200)" identifier = (pointer_expression "*(undefined **)(param_2 + 200)" * (cast_expression "(undefined **)(param_2 + 200)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 200)" ( (binary_expression "param_2 + 200" identifier + number_literal) ))))) ;) (expression_statement "puStack_20 = unaff_EDI;" (assignment_expression "puStack_20 = unaff_EDI" identifier = identifier) ;) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" identifier = identifier) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }" { (do_statement "do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );" do (compound_statement "{\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      }" { (expression_statement "puVar22 = puVar15;" (assignment_expression "puVar22 = puVar15" identifier = identifier) ;) (if_statement "if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" if (parenthesized_expression "((*(byte *)(param_2 + 0xf4) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0xf4) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf4) & 8)" ( (binary_expression "*(byte *)(param_2 + 0xf4) & 8" (pointer_expression "*(byte *)(param_2 + 0xf4)" * (cast_expression "(byte *)(param_2 + 0xf4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xf4)" ( (binary_expression "param_2 + 0xf4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }" { (labeled_statement "LAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;" statement_identifier : (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1ba7f;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1ba7f" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "FUN_00017f40();" (call_expression "FUN_00017f40()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" else (compound_statement "{\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" { (expression_statement "puVar10 = *(undefined **)(param_2 + 0xd8);" (assignment_expression "puVar10 = *(undefined **)(param_2 + 0xd8)" identifier = (pointer_expression "*(undefined **)(param_2 + 0xd8)" * (cast_expression "(undefined **)(param_2 + 0xd8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) ))))) ;) (if_statement "if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" if (parenthesized_expression "(puVar10 == (undefined *)0xffffffff)" ( (binary_expression "puVar10 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }" { (if_statement "if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }" if (parenthesized_expression "((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0))" ( (binary_expression "(*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)" (parenthesized_expression "(*(int *)(puVar15 + 0xc) != -1)" ( (binary_expression "*(int *)(puVar15 + 0xc) != -1" (pointer_expression "*(int *)(puVar15 + 0xc)" * (cast_expression "(int *)(puVar15 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_2 + 0x70) == 0)" ( (binary_expression "*(int *)(param_2 + 0x70) == 0" (pointer_expression "*(int *)(param_2 + 0x70)" * (cast_expression "(int *)(param_2 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }" { (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" * (cast_expression "(undefined4 *)(puVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0xc)" ( (binary_expression "puVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba0c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));" (call_expression "shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) ))) ;) })) }) (else_clause "else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" else (compound_statement "{\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" { (labeled_statement "LAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 8" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined **)(puVar15 + -0xc) = &DAT_000281c0;" (assignment_expression "*(undefined **)(puVar15 + -0xc) = &DAT_000281c0" (pointer_expression "*(undefined **)(puVar15 + -0xc)" * (cast_expression "(undefined **)(puVar15 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_000281c0" & identifier)) ;) (expression_statement "*(undefined **)(puVar15 + -0x10) = puVar10;" (assignment_expression "*(undefined **)(puVar15 + -0x10) = puVar10" (pointer_expression "*(undefined **)(puVar15 + -0x10)" * (cast_expression "(undefined **)(puVar15 + -0x10)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba32;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba32" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));" (assignment_expression "sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" identifier = (call_expression "write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" identifier (argument_list "(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" ( (pointer_expression "*(int *)(puVar15 + -0x10)" * (cast_expression "(int *)(puVar15 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar15 + -0xc)" * (cast_expression "(void **)(puVar15 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar15 + -8)" * (cast_expression "(size_t *)(puVar15 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" if (parenthesized_expression "(sVar4 < 1)" ( (binary_expression "sVar4 < 1" identifier < number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" { (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x1ba42;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x1ba42" (pointer_expression "*(undefined4 *)(puVar15 + -4)" * (cast_expression "(undefined4 *)(puVar15 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" if (parenthesized_expression "(*piVar5 != 0xb)" ( (binary_expression "*piVar5 != 0xb" (pointer_expression "*piVar5" * identifier) != number_literal) )) (compound_statement "{\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" { (expression_statement "*(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";" (assignment_expression "*(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n"" (pointer_expression "*(char **)(puVar15 + -4)" * (cast_expression "(char **)(puVar15 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (string_literal ""Failed to signal shutdown via inter-thread communication channel.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x1ae5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x1ae5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar15 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba6a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;" statement_identifier : (expression_statement "*(undefined4 *)(puVar22 + 0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar22 + 0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar22 + 0xc)" * (cast_expression "(undefined4 *)(puVar22 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 0xc)" ( (binary_expression "puVar22 + 0xc" identifier + number_literal) )))) = number_literal) ;)) (goto_statement "goto LAB_0001ba78;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" * (cast_expression "(undefined4 *)(puVar15 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_2 + 0x8c)" * (cast_expression "(undefined4 *)(param_2 + 0x8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x8c)" ( (binary_expression "param_2 + 0x8c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1b908;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1b908" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));" (assignment_expression "iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" identifier = (call_expression "pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" identifier (argument_list "(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" ( (pointer_expression "*(pthread_t *)(puVar15 + -0x10)" * (cast_expression "(pthread_t *)(puVar15 + -0x10)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(void ***)(puVar15 + -0xc)" * (cast_expression "(void ***)(puVar15 + -0xc)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "puVar22 = puVar15;" (assignment_expression "puVar22 = puVar15" identifier = identifier) ;) (if_statement "if (iVar8 != 0) goto LAB_0001bad2;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001bad2;" goto statement_identifier ;)) }))) (if_statement "if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }" if (parenthesized_expression "(*(int *)(param_2 + 0xd8) != -1)" ( (binary_expression "*(int *)(param_2 + 0xd8) != -1" (pointer_expression "*(int *)(param_2 + 0xd8)" * (cast_expression "(int *)(param_2 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }" { (expression_statement "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);" (assignment_expression "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8)" (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) )))) = (pointer_expression "*(int *)(param_2 + 0xd8)" * (cast_expression "(int *)(param_2 + 0xd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b927;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b927" (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 "iVar8 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar8 = 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) )))) )))) ;) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1b933;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1b933" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }" { (expression_statement "*(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Failed to destroy ITC.\n"" (pointer_expression "*(char **)(puVar22 + -4)" * (cast_expression "(char **)(puVar22 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (string_literal ""Failed to destroy ITC.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b02;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b02" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1bab3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1bab3" (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 "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bab3;" goto statement_identifier ;) })) })) })) (expression_statement "puVar17 = (undefined4 *)puVar22;" (assignment_expression "puVar17 = (undefined4 *)puVar22" identifier = (cast_expression "(undefined4 *)puVar22" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }" if (parenthesized_expression "(((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1))" ( (binary_expression "((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)" (parenthesized_expression "((*(byte *)(param_2 + 0xf5) & 2) != 0)" ( (binary_expression "(*(byte *)(param_2 + 0xf5) & 2) != 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf5) & 2)" ( (binary_expression "*(byte *)(param_2 + 0xf5) & 2" (pointer_expression "*(byte *)(param_2 + 0xf5)" * (cast_expression "(byte *)(param_2 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xf5)" ( (binary_expression "param_2 + 0xf5" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)(param_2 + 0xd0) != -1)" ( (binary_expression "*(int *)(param_2 + 0xd0) != -1" (pointer_expression "*(int *)(param_2 + 0xd0)" * (cast_expression "(int *)(param_2 + 0xd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd0)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }" { (expression_statement "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);" (assignment_expression "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0)" (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) )))) = (pointer_expression "*(int *)(param_2 + 0xd0)" * (cast_expression "(int *)(param_2 + 0xd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xd0)" ( (binary_expression "param_2 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b959;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b959" (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 "iVar8 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar8 = 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) )))) )))) ;) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1b965;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1b965" (pointer_expression "*(undefined4 *)(puVar22 + -4)" * (cast_expression "(undefined4 *)(puVar22 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }" { (expression_statement "*(char **)(puVar22 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)(puVar22 + -4)" * (cast_expression "(char **)(puVar22 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (string_literal ""Close socket failed.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b07;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b07" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b989;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b989" (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 "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) })) })) })) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0xac;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0xac" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_2 + 0xac" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_0001b81d;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b81d;" goto statement_identifier ;)) (expression_statement "*(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)((int)puVar17 + -4)" * (cast_expression "(char **)((int)puVar17 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -4)" ( (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -8) = 0x1b10;" (assignment_expression "*(undefined4 *)((int)puVar17 + -8) = 0x1b10" (pointer_expression "*(undefined4 *)((int)puVar17 + -8)" * (cast_expression "(undefined4 *)((int)puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -8)" ( (binary_expression "(int)puVar17 + -8" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar17 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar17 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar17 + -0xc)" * (cast_expression "(char **)((int)puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar17 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar17 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (if_statement "if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x88) == 0)" ( (binary_expression "*(int *)(param_2 + 0x88) == 0" (pointer_expression "*(int *)(param_2 + 0x88)" * (cast_expression "(int *)(param_2 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }" { (expression_statement "bVar24 = unaff_EDI == (undefined *)0xffffffff;" (assignment_expression "bVar24 = unaff_EDI == (undefined *)0xffffffff" identifier = (binary_expression "unaff_EDI == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }" if (parenthesized_expression "(bVar24)" ( identifier )) (compound_statement "{\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }" { (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0001b8ba;" goto statement_identifier ;) })) (labeled_statement "LAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar17 + -0xc) = 2;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0xc) = 2" (pointer_expression "*(undefined4 *)((int)puVar17 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar17 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar17 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + 0xc)" ( (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));" (call_expression "shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc))" identifier (argument_list "(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc))" ( (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar17 + -0xc)" * (cast_expression "(int *)((int)puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "uVar6 = *(uint *)(param_2 + 0x88);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x88)" identifier = (pointer_expression "*(uint *)(param_2 + 0x88)" * (cast_expression "(uint *)(param_2 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" else (compound_statement "{\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" { (labeled_statement "LAB_0001b747:\n      unaff_EBP = 0;" statement_identifier : (expression_statement "unaff_EBP = 0;" (assignment_expression "unaff_EBP = 0" identifier = number_literal) ;)) (expression_statement "unaff_EDI = &DAT_000281c0;" (assignment_expression "unaff_EDI = &DAT_000281c0" identifier = (pointer_expression "&DAT_000281c0" & identifier)) ;) (while_statement "while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }" { (expression_statement "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;" (assignment_expression "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1" (pointer_expression "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37)" * (cast_expression "(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + unaff_EBP * 0x4c + 0x37)" ( (binary_expression "puVar9 + unaff_EBP * 0x4c + 0x37" (binary_expression "puVar9 + unaff_EBP * 0x4c" identifier + (binary_expression "unaff_EBP * 0x4c" identifier * number_literal)) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);" (assignment_expression "iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" identifier = (pointer_expression "*(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" * (cast_expression "(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" ( (binary_expression "*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130" (binary_expression "*(int *)(param_2 + 0x74) + 0xd8" (pointer_expression "*(int *)(param_2 + 0x74)" * (cast_expression "(int *)(param_2 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) )))) + number_literal) + (binary_expression "unaff_EBP * 0x130" identifier * number_literal)) ))))) ;) (if_statement "if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;" if (parenthesized_expression "(((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb))" ( (binary_expression "((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)" (parenthesized_expression "((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1))" ( (binary_expression "(iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)" (parenthesized_expression "(iVar8 != -1)" ( (binary_expression "iVar8 != -1" identifier != number_literal) )) && (parenthesized_expression "(sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)" ( (comma_expression "sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1" (assignment_expression "sVar4 = write(iVar8,&DAT_000281c0,8)" identifier = (call_expression "write(iVar8,&DAT_000281c0,8)" identifier (argument_list "(iVar8,&DAT_000281c0,8)" ( identifier , (pointer_expression "&DAT_000281c0" & identifier) , number_literal )))) , (binary_expression "sVar4 < 1" identifier < number_literal)) ))) )) && (parenthesized_expression "(piVar5 = __errno_location(), *piVar5 != 0xb)" ( (comma_expression "piVar5 = __errno_location(), *piVar5 != 0xb" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) , (binary_expression "*piVar5 != 0xb" (pointer_expression "*piVar5" * identifier) != number_literal)) ))) )) (break_statement "break;" break ;)) (expression_statement "uVar6 = *(uint *)(param_2 + 0x88);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x88)" identifier = (pointer_expression "*(uint *)(param_2 + 0x88)" * (cast_expression "(uint *)(param_2 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "unaff_EBP = unaff_EBP + 1;" (assignment_expression "unaff_EBP = unaff_EBP + 1" identifier = (binary_expression "unaff_EBP + 1" identifier + number_literal)) ;) (if_statement "if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;" if (parenthesized_expression "(uVar6 <= unaff_EBP)" ( (binary_expression "uVar6 <= unaff_EBP" identifier <= identifier) )) (goto_statement "goto LAB_0001b7c8;" goto statement_identifier ;)) (expression_statement "puVar9 = *(undefined4 **)(param_2 + 0x74);" (assignment_expression "puVar9 = *(undefined4 **)(param_2 + 0x74)" identifier = (pointer_expression "*(undefined4 **)(param_2 + 0x74)" * (cast_expression "(undefined4 **)(param_2 + 0x74)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) })) (expression_statement "puVar19 = &stack0xffffffc4;" (assignment_expression "puVar19 = &stack0xffffffc4" identifier = (pointer_expression "&stack0xffffffc4" & identifier)) ;) (expression_statement "uVar6 = (*DAT_0003016c)();" (assignment_expression "uVar6 = (*DAT_0003016c)()" identifier = (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;" statement_identifier : (expression_statement "puVar17 = (undefined4 *)puVar19;" (assignment_expression "puVar17 = (undefined4 *)puVar19" identifier = (cast_expression "(undefined4 *)puVar19" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;" if (parenthesized_expression "(*(int *)(puVar19 + 0xc) != -1)" ( (binary_expression "*(int *)(puVar19 + 0xc) != -1" (pointer_expression "*(int *)(puVar19 + 0xc)" * (cast_expression "(int *)(puVar19 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + 0xc)" ( (binary_expression "puVar19 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0001b7cf;" goto statement_identifier ;)) }))) (expression_statement "iVar8 = *(int *)(param_2 + 0x74);" (assignment_expression "iVar8 = *(int *)(param_2 + 0x74)" identifier = (pointer_expression "*(int *)(param_2 + 0x74)" * (cast_expression "(int *)(param_2 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }" { (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));" do (compound_statement "{\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      }" { (expression_statement "iVar7 = (int)unaff_EDI * 0x130;" (assignment_expression "iVar7 = (int)unaff_EDI * 0x130" identifier = (binary_expression "(int)unaff_EDI * 0x130" (cast_expression "(int)unaff_EDI" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "unaff_EDI = unaff_EDI + 1;" (assignment_expression "unaff_EDI = unaff_EDI + 1" identifier = (binary_expression "unaff_EDI + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = iVar8 + iVar7" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + iVar7" identifier + identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b803" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_stop_daemon();" (call_expression "MHD_stop_daemon()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *(int *)(param_2 + 0x74);" (assignment_expression "iVar8 = *(int *)(param_2 + 0x74)" identifier = (pointer_expression "*(int *)(param_2 + 0x74)" * (cast_expression "(int *)(param_2 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x74)" ( (binary_expression "param_2 + 0x74" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(unaff_EDI < *(undefined **)(param_2 + 0x88))" ( (binary_expression "unaff_EDI < *(undefined **)(param_2 + 0x88)" identifier < (pointer_expression "*(undefined **)(param_2 + 0x88)" * (cast_expression "(undefined **)(param_2 + 0x88)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) )) ;) })) (expression_statement "*(int *)((int)puVar17 + -0x10) = iVar8;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = iVar8" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" identifier (argument_list "(*(void **)((int)puVar17 + -0x10))" ( (pointer_expression "*(void **)((int)puVar17 + -0x10)" * (cast_expression "(void **)((int)puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (labeled_statement "LAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }" statement_identifier : (if_statement "if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }" if (parenthesized_expression "(*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0)" ( (binary_expression "*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(param_2 + 0x70)" * (cast_expression "(undefined4 **)(param_2 + 0x70)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return *(undefined4 **)(param_2 + 0x70);\n    }" { (return_statement "return *(undefined4 **)(param_2 + 0x70);" return (pointer_expression "*(undefined4 **)(param_2 + 0x70)" * (cast_expression "(undefined4 **)(param_2 + 0x70)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) ;) }))) (if_statement "if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;" if (parenthesized_expression "(*(int *)((int)puVar17 + 0xc) == -1)" ( (binary_expression "*(int *)((int)puVar17 + 0xc) == -1" (pointer_expression "*(int *)((int)puVar17 + 0xc)" * (cast_expression "(int *)((int)puVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + 0xc)" ( (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);" (assignment_expression "*(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc)" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar17 + 0xc)" * (cast_expression "(int *)((int)puVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + 0xc)" ( (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b836" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = close(*(int *)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = close(*(int *)((int)puVar17 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar17 + -0x10))" identifier (argument_list "(*(int *)((int)puVar17 + -0x10))" ( (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar8 == 0) goto LAB_0001b84b;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -4) = 0x1b842;" (assignment_expression "*(undefined4 *)((int)puVar17 + -4) = 0x1b842" (pointer_expression "*(undefined4 *)((int)puVar17 + -4)" * (cast_expression "(undefined4 *)((int)puVar17 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -4)" ( (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001b84b;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001b84b;" goto statement_identifier ;)) (labeled_statement "LAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";" statement_identifier : (expression_statement "*(char **)((int)puVar17 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)((int)puVar17 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)((int)puVar17 + -4)" * (cast_expression "(char **)((int)puVar17 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -4)" ( (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Close socket failed.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -8) = 0x1b19;" (assignment_expression "*(undefined4 *)((int)puVar17 + -8) = 0x1b19" (pointer_expression "*(undefined4 *)((int)puVar17 + -8)" * (cast_expression "(undefined4 *)((int)puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -8)" ( (binary_expression "(int)puVar17 + -8" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)puVar17 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar17 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar17 + -0xc)" * (cast_expression "(char **)((int)puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0xc)" ( (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar17 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar17 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";" statement_identifier : (expression_statement "*(char **)(puVar15 + -4) = "Failed to join a thread.\n";" (assignment_expression "*(char **)(puVar15 + -4) = "Failed to join a thread.\n"" (pointer_expression "*(char **)(puVar15 + -4)" * (cast_expression "(char **)(puVar15 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (string_literal ""Failed to join a thread.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x1af7;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x1af7" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar15 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar15 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar15 + -0xc)" * (cast_expression "(char **)(puVar15 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1baf1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1baf1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";" statement_identifier : (expression_statement "*(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)(puVar22 + -4)" * (cast_expression "(char **)(puVar22 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b2f;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b2f" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" * (cast_expression "(char **)(puVar22 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1bb10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1bb10" (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 "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" else (compound_statement "{\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" { (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }" { (if_statement "if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;" if (parenthesized_expression "((*(byte *)(param_2 + 0xf4) & 8) == 0)" ( (binary_expression "(*(byte *)(param_2 + 0xf4) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf4) & 8)" ( (binary_expression "*(byte *)(param_2 + 0xf4) & 8" (pointer_expression "*(byte *)(param_2 + 0xf4)" * (cast_expression "(byte *)(param_2 + 0xf4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xf4)" ( (binary_expression "param_2 + 0xf4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001ba70;" goto statement_identifier ;)) (expression_statement "puVar10 = *(undefined **)(param_2 + 0xd8);" (assignment_expression "puVar10 = *(undefined **)(param_2 + 0xd8)" identifier = (pointer_expression "*(undefined **)(param_2 + 0xd8)" * (cast_expression "(undefined **)(param_2 + 0xd8)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0xd8)" ( (binary_expression "param_2 + 0xd8" identifier + number_literal) ))))) ;) (expression_statement "puStack_20 = puVar10;" (assignment_expression "puStack_20 = puVar10" identifier = identifier) ;) (if_statement "if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;" if (parenthesized_expression "(puVar10 == (undefined *)0xffffffff)" ( (binary_expression "puVar10 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001b8f8;" goto statement_identifier ;)) (expression_statement "puStack_20 = (undefined *)0xffffffff;" (assignment_expression "puStack_20 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" identifier = identifier) ;) (goto_statement "goto LAB_0001ba20;" goto statement_identifier ;) })) (expression_statement "unaff_EBP = *(uint *)(param_2 + 0x88);" (assignment_expression "unaff_EBP = *(uint *)(param_2 + 0x88)" identifier = (pointer_expression "*(uint *)(param_2 + 0x88)" * (cast_expression "(uint *)(param_2 + 0x88)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x88)" ( (binary_expression "param_2 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "puStack_20 = (undefined *)0xffffffff;" (assignment_expression "puStack_20 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (unaff_EBP != 0) goto LAB_0001b747;" if (parenthesized_expression "(unaff_EBP != 0)" ( (binary_expression "unaff_EBP != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001b747;" goto statement_identifier ;)) (labeled_statement "LAB_0001b8ba:\n    free(puVar9);" statement_identifier : (expression_statement "free(puVar9);" (call_expression "free(puVar9)" identifier (argument_list "(puVar9)" ( identifier ))) ;)) (expression_statement "puVar17 = (undefined4 *)auStack_2c;" (assignment_expression "puVar17 = (undefined4 *)auStack_2c" identifier = (cast_expression "(undefined4 *)auStack_2c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x70) != 0)" ( (binary_expression "*(int *)(param_2 + 0x70) != 0" (pointer_expression "*(int *)(param_2 + 0x70)" * (cast_expression "(int *)(param_2 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x70)" ( (binary_expression "param_2 + 0x70" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      return puVar9;\n    }" { (return_statement "return puVar9;" return identifier ;) })) (labeled_statement "LAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104)" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_2 + 0x104)" * (cast_expression "(undefined4 *)(param_2 + 0x104)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x104)" ( (binary_expression "param_2 + 0x104" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b859" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" identifier (argument_list "(*(void **)((int)puVar17 + -0x10))" ( (pointer_expression "*(void **)((int)puVar17 + -0x10)" * (cast_expression "(void **)((int)puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0x108;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0x108" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_2 + 0x108" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b867" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar22 = (undefined1 *)puVar17;" (assignment_expression "puVar22 = (undefined1 *)puVar17" identifier = (cast_expression "(undefined1 *)puVar17" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar8 != 0) goto LAB_0001baf1;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001baf1;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0x94;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0x94" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "param_2 + 0x94" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b881" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier = (cast_expression "(undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }" if (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" ( (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }" { (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2" (pointer_expression "*(int *)((int)puVar17 + -0x10)" * (cast_expression "(int *)((int)puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b895" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar17 + -0x14)" ( (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" identifier (argument_list "(*(void **)((int)puVar17 + -0x10))" ( (pointer_expression "*(void **)((int)puVar17 + -0x10)" * (cast_expression "(void **)((int)puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar17 + -0x10)" ( (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (return_statement "return puVar9;" return identifier ;) })) }))) (expression_statement "puVar17[-1] = "Failed to destroy mutex.\n";" (assignment_expression "puVar17[-1] = "Failed to destroy mutex.\n"" (subscript_expression "puVar17[-1]" identifier [ number_literal ]) = (string_literal ""Failed to destroy mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "puVar17[-2] = 0x1b33;" (assignment_expression "puVar17[-2] = 0x1b33" (subscript_expression "puVar17[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-3] = "daemon.c";" (assignment_expression "puVar17[-3] = "daemon.c"" (subscript_expression "puVar17[-3]" identifier [ number_literal ]) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar17[-4] = DAT_00030168;" (assignment_expression "puVar17[-4] = DAT_00030168" (subscript_expression "puVar17[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-5] = 0x1bb2f;" (assignment_expression "puVar17[-5] = 0x1bb2f" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" ( (pointer_expression "*DAT_0003016c" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar17[-5] = unaff_EBP;" (assignment_expression "puVar17[-5] = unaff_EBP" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-6] = unaff_EDI;" (assignment_expression "puVar17[-6] = unaff_EDI" (subscript_expression "puVar17[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-7] = param_2;" (assignment_expression "puVar17[-7] = param_2" (subscript_expression "puVar17[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-8] = 0x30000;" (assignment_expression "puVar17[-8] = 0x30000" (subscript_expression "puVar17[-8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-9] = 0x1bb39;" (assignment_expression "puVar17[-9] = 0x1bb39" (subscript_expression "puVar17[-9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = puVar17[-9];" (assignment_expression "iVar8 = puVar17[-9]" identifier = (subscript_expression "puVar17[-9]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = (int *)puVar17[-3];" (assignment_expression "piVar5 = (int *)puVar17[-3]" identifier = (cast_expression "(int *)puVar17[-3]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[-3]" identifier [ number_literal ]))) ;) (expression_statement "piVar14 = (int *)puVar17[1];" (assignment_expression "piVar14 = (int *)puVar17[1]" identifier = (cast_expression "(int *)puVar17[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar17[-0x3b] = 1;" (assignment_expression "puVar17[-0x3b] = 1" (subscript_expression "puVar17[-0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x44] = puVar17[-2];" (assignment_expression "puVar17[-0x44] = puVar17[-2]" (subscript_expression "puVar17[-0x44]" identifier [ number_literal ]) = (subscript_expression "puVar17[-2]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x3a] = 0;" (assignment_expression "puVar17[-0x3a] = 0" (subscript_expression "puVar17[-0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x43] = puVar17[-1];" (assignment_expression "puVar17[-0x43] = puVar17[-1]" (subscript_expression "puVar17[-0x43]" identifier [ number_literal ]) = (subscript_expression "puVar17[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x42] = puVar17[2];" (assignment_expression "puVar17[-0x42] = puVar17[2]" (subscript_expression "puVar17[-0x42]" identifier [ number_literal ]) = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar17[-0xc]" 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 "puVar17[-0x3f] = (uint)piVar5 & 2;" (assignment_expression "puVar17[-0x3f] = (uint)piVar5 & 2" (subscript_expression "puVar17[-0x3f]" identifier [ number_literal ]) = (binary_expression "(uint)piVar5 & 2" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }" if (parenthesized_expression "(((uint)piVar5 & 2) == 0)" ( (binary_expression "((uint)piVar5 & 2) == 0" (parenthesized_expression "((uint)piVar5 & 2)" ( (binary_expression "(uint)piVar5 & 2" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }" { (if_statement "if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }" if (parenthesized_expression "(((uint)piVar5 & 0x8000) != 0)" ( (binary_expression "((uint)piVar5 & 0x8000) != 0" (parenthesized_expression "((uint)piVar5 & 0x8000)" ( (binary_expression "(uint)piVar5 & 0x8000" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }" { (expression_statement "piVar5 = (int *)((uint)piVar5 | 0x2400);" (assignment_expression "piVar5 = (int *)((uint)piVar5 | 0x2400)" identifier = (cast_expression "(int *)((uint)piVar5 | 0x2400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar5 | 0x2400)" ( (binary_expression "(uint)piVar5 | 0x2400" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }" if (parenthesized_expression "(((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40))))" ( (binary_expression "((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))" (parenthesized_expression "((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240))" ( (binary_expression "(piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)" (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)" ( (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) , (binary_expression "((uint)piVar5 & 0x240) != 0x240" (parenthesized_expression "((uint)piVar5 & 0x240)" ( (binary_expression "(uint)piVar5 & 0x240" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) ))) )) && (parenthesized_expression "((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))" ( (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40))" ( (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) , (binary_expression "((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (binary_expression "((uint)piVar5 & 0x204) != 0x204" (parenthesized_expression "((uint)piVar5 & 0x204)" ( (binary_expression "(uint)piVar5 & 0x204" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) && (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" ( (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) , (binary_expression "((uint)piVar5 & 0x4c) != 0x40" (parenthesized_expression "((uint)piVar5 & 0x4c)" ( (binary_expression "(uint)piVar5 & 0x4c" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal)) )))) )) ))) )) (compound_statement "{\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }" { (expression_statement "piVar23 = piVar5;" (assignment_expression "piVar23 = piVar5" identifier = identifier) ;) (if_statement "if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }" if (parenthesized_expression "(((uint)piVar5 & 0x10000) != 0)" ( (binary_expression "((uint)piVar5 & 0x10000) != 0" (parenthesized_expression "((uint)piVar5 & 0x10000)" ( (binary_expression "(uint)piVar5 & 0x10000" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }" { (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;" if (parenthesized_expression "(((uint)piVar5 & 0x240) != 0)" ( (binary_expression "((uint)piVar5 & 0x240) != 0" (parenthesized_expression "((uint)piVar5 & 0x240)" ( (binary_expression "(uint)piVar5 & 0x240" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bfd0;" goto statement_identifier ;)) (expression_statement "piVar23 = (int *)((uint)piVar5 | 0x40);" (assignment_expression "piVar23 = (int *)((uint)piVar5 | 0x40)" identifier = (cast_expression "(int *)((uint)piVar5 | 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar5 | 0x40)" ( (binary_expression "(uint)piVar5 | 0x40" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (if_statement "if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }" if (parenthesized_expression "(((uint)piVar5 & 4) == 0)" ( (binary_expression "((uint)piVar5 & 4) == 0" (parenthesized_expression "((uint)piVar5 & 4)" ( (binary_expression "(uint)piVar5 & 4" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }" { (expression_statement "piVar23 = (int *)((uint)piVar5 | 0x200);" (assignment_expression "piVar23 = (int *)((uint)piVar5 | 0x200)" identifier = (cast_expression "(int *)((uint)piVar5 | 0x200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar5 | 0x200)" ( (binary_expression "(uint)piVar5 | 0x200" (cast_expression "(uint)piVar5" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) })) })) (expression_statement "puVar17[-0x40] = puVar17[3];" (assignment_expression "puVar17[-0x40] = puVar17[3]" (subscript_expression "puVar17[-0x40]" identifier [ number_literal ]) = (subscript_expression "puVar17[3]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x41] = *puVar17;" (assignment_expression "puVar17[-0x41] = *puVar17" (subscript_expression "puVar17[-0x41]" identifier [ number_literal ]) = (pointer_expression "*puVar17" * identifier)) ;) (expression_statement "puVar17[-0x4a] = 0x130;" (assignment_expression "puVar17[-0x4a] = 0x130" (subscript_expression "puVar17[-0x4a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x4b] = 1;" (assignment_expression "puVar17[-0x4b] = 1" (subscript_expression "puVar17[-0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x4c] = 0x1bc1d;" (assignment_expression "puVar17[-0x4c] = 0x1bc1d" (subscript_expression "puVar17[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);" (assignment_expression "puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a])" identifier = (cast_expression "(undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a])" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "calloc(puVar17[-0x4b],puVar17[-0x4a])" identifier (argument_list "(puVar17[-0x4b],puVar17[-0x4a])" ( (subscript_expression "puVar17[-0x4b]" identifier [ number_literal ]) , (subscript_expression "puVar17[-0x4a]" identifier [ number_literal ]) ))))) ;) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\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        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }" { (expression_statement "puVar11[0x34] = 0xffffffff;" (assignment_expression "puVar11[0x34] = 0xffffffff" (subscript_expression "puVar11[0x34]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x32] = 0xffffffff;" (assignment_expression "puVar11[0x32] = 0xffffffff" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x33] = 0;" (assignment_expression "puVar11[0x33] = 0" (subscript_expression "puVar11[0x33]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar18 = puVar17[-0x41];" (assignment_expression "uVar18 = puVar17[-0x41]" identifier = (subscript_expression "puVar17[-0x41]" identifier [ number_literal ])) ;) (expression_statement "*puVar11 = piVar14;" (assignment_expression "*puVar11 = piVar14" (pointer_expression "*puVar11" * identifier) = identifier) ;) (expression_statement "puVar11[0x39] = 0;" (assignment_expression "puVar11[0x39] = 0" (subscript_expression "puVar11[0x39]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3a] = 0x3fc;" (assignment_expression "puVar11[0x3a] = 0x3fc" (subscript_expression "puVar11[0x3a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3f] = (uint)piVar23 >> 5 & 1;" (assignment_expression "puVar11[0x3f] = (uint)piVar23 >> 5 & 1" (subscript_expression "puVar11[0x3f]" identifier [ number_literal ]) = (binary_expression "(uint)piVar23 >> 5 & 1" (binary_expression "(uint)piVar23 >> 5" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) ;) (expression_statement "uVar1 = *(undefined2 *)(puVar17 + -0x44);" (assignment_expression "uVar1 = *(undefined2 *)(puVar17 + -0x44)" identifier = (pointer_expression "*(undefined2 *)(puVar17 + -0x44)" * (cast_expression "(undefined2 *)(puVar17 + -0x44)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x44)" ( (binary_expression "puVar17 + -0x44" identifier + number_literal) ))))) ;) (expression_statement "puVar11[0x11] = uVar18;" (assignment_expression "puVar11[0x11] = uVar18" (subscript_expression "puVar11[0x11]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11[0x1f] = 0x8000;" (assignment_expression "puVar11[0x1f] = 0x8000" (subscript_expression "puVar11[0x1f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x20] = 0x400;" (assignment_expression "puVar11[0x20] = 0x400" (subscript_expression "puVar11[0x20]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x3b] = 0;" (assignment_expression "puVar11[0x3b] = 0" (subscript_expression "puVar11[0x3b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x36] = 0xffffffff;" (assignment_expression "puVar11[0x36] = 0xffffffff" (subscript_expression "puVar11[0x36]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x4b] = 0x80;" (assignment_expression "puVar11[0x4b] = 0x80" (subscript_expression "puVar11[0x4b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = uVar1;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = uVar1" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" * (cast_expression "(undefined2 *)(puVar11 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar18 = puVar17[-0x40];" (assignment_expression "uVar18 = puVar17[-0x40]" identifier = (subscript_expression "puVar17[-0x40]" identifier [ number_literal ])) ;) (expression_statement "puVar11[0x10] = puVar17[-0x43];" (assignment_expression "puVar11[0x10] = puVar17[-0x43]" (subscript_expression "puVar11[0x10]" identifier [ number_literal ]) = (subscript_expression "puVar17[-0x43]" identifier [ number_literal ])) ;) (expression_statement "puVar11[1] = puVar17[-0x42];" (assignment_expression "puVar11[1] = puVar17[-0x42]" (subscript_expression "puVar11[1]" identifier [ number_literal ]) = (subscript_expression "puVar17[-0x42]" identifier [ number_literal ])) ;) (expression_statement "puVar11[0x18] = iVar8 + -0x43b9;" (assignment_expression "puVar11[0x18] = iVar8 + -0x43b9" (subscript_expression "puVar11[0x18]" identifier [ number_literal ]) = (binary_expression "iVar8 + -0x43b9" identifier + number_literal)) ;) (expression_statement "puVar11[0x1a] = iVar8 + -0x43e9;" (assignment_expression "puVar11[0x1a] = iVar8 + -0x43e9" (subscript_expression "puVar11[0x1a]" identifier [ number_literal ]) = (binary_expression "iVar8 + -0x43e9" identifier + number_literal)) ;) (expression_statement "puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);" (assignment_expression "puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8)" (subscript_expression "puVar11[0x1b]" identifier [ number_literal ]) = (pointer_expression "**(undefined4 **)(&UNK_00014497 + iVar8)" * (pointer_expression "*(undefined4 **)(&UNK_00014497 + iVar8)" * (cast_expression "(undefined4 **)(&UNK_00014497 + iVar8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014497 + iVar8)" ( (binary_expression "&UNK_00014497 + iVar8" (pointer_expression "&UNK_00014497" & identifier) + identifier) )))))) ;) (if_statement "if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" if (parenthesized_expression "(((uint)piVar23 & 0xc) == 4)" ( (binary_expression "((uint)piVar23 & 0xc) == 4" (parenthesized_expression "((uint)piVar23 & 0xc)" ( (binary_expression "(uint)piVar23 & 0xc" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }" { (expression_statement "puVar17[-0x43] = uVar18;" (assignment_expression "puVar17[-0x43] = uVar18" (subscript_expression "puVar17[-0x43]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-0x4a] = iVar8 + 0xbff7;" (assignment_expression "puVar17[-0x4a] = iVar8 + 0xbff7" (subscript_expression "puVar17[-0x4a]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xbff7" identifier + number_literal)) ;) (expression_statement "puVar17[-0x4b] = puVar11;" (assignment_expression "puVar17[-0x4b] = puVar11" (subscript_expression "puVar17[-0x4b]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[-0x4c] = 0x1bebc;" (assignment_expression "puVar17[-0x4c] = 0x1bebc" (subscript_expression "puVar17[-0x4c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar23 = (int *)(puVar11[0x3d] | 8);" (assignment_expression "piVar23 = (int *)(puVar11[0x3d] | 8)" identifier = (cast_expression "(int *)(puVar11[0x3d] | 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11[0x3d] | 8)" ( (binary_expression "puVar11[0x3d] | 8" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) | number_literal) )))) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" statement_identifier : (if_statement "if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" if (parenthesized_expression "(((uint)piVar23 & 0x100) != 0)" ( (binary_expression "((uint)piVar23 & 0x100) != 0" (parenthesized_expression "((uint)piVar23 & 0x100)" ( (binary_expression "(uint)piVar23 & 0x100" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" { (expression_statement "piVar23 = (int *)((uint)piVar23 | 0x400);" (assignment_expression "piVar23 = (int *)((uint)piVar23 | 0x400)" identifier = (cast_expression "(int *)((uint)piVar23 | 0x400)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar23 | 0x400)" ( (binary_expression "(uint)piVar23 | 0x400" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" else (compound_statement "{\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" { (if_statement "if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;" if (parenthesized_expression "(((uint)piVar23 & 8) != 0)" ( (binary_expression "((uint)piVar23 & 8) != 0" (parenthesized_expression "((uint)piVar23 & 8)" ( (binary_expression "(uint)piVar23 & 8" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bed2;" goto statement_identifier ;)) (expression_statement "piVar23 = (int *)((uint)piVar23 & 0xfffffbff);" (assignment_expression "piVar23 = (int *)((uint)piVar23 & 0xfffffbff)" identifier = (cast_expression "(int *)((uint)piVar23 & 0xfffffbff)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)piVar23 & 0xfffffbff)" ( (binary_expression "(uint)piVar23 & 0xfffffbff" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = identifier) ;) }))) (expression_statement "puVar20 = puVar17 + -0x47;" (assignment_expression "puVar20 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (expression_statement "puVar11[0x48] = 0;" (assignment_expression "puVar11[0x48] = 0" (subscript_expression "puVar11[0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x40] = 0;" (assignment_expression "puVar11[0x40] = 0" (subscript_expression "puVar11[0x40]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar11[0x49] = 4;" (assignment_expression "puVar11[0x49] = 4" (subscript_expression "puVar11[0x49]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-0x48] = 0x1bd33;" (assignment_expression "puVar17[-0x48] = 0x1bd33" (subscript_expression "puVar17[-0x48]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar7 = FUN_000172b0();" (assignment_expression "iVar7 = FUN_000172b0()" identifier = (call_expression "FUN_000172b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }" { (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" if (parenthesized_expression "((puVar11[0x12] == 0) || ((uVar6 & 4) == 0))" ( (binary_expression "(puVar11[0x12] == 0) || ((uVar6 & 4) == 0)" (parenthesized_expression "(puVar11[0x12] == 0)" ( (binary_expression "puVar11[0x12] == 0" (subscript_expression "puVar11[0x12]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar6 & 4) == 0)" ( (binary_expression "(uVar6 & 4) == 0" (parenthesized_expression "(uVar6 & 4)" ( (binary_expression "uVar6 & 4" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }" { (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;" if (parenthesized_expression "((uVar6 & 0x400) == 0)" ( (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" ( (binary_expression "uVar6 & 0x400" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001bd6c;" goto statement_identifier ;)) }) (else_clause "else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" else (compound_statement "{\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" { (expression_statement "puVar11[0x3d] = uVar6 | 0x400;" (assignment_expression "puVar11[0x3d] = uVar6 | 0x400" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) = (binary_expression "uVar6 | 0x400" identifier | number_literal)) ;) }))) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" identifier = (binary_expression "puVar17 + -0x47" identifier + number_literal)) ;) (if_statement "if (puVar11[0x22] == 0) goto LAB_0001c310;" if (parenthesized_expression "(puVar11[0x22] == 0)" ( (binary_expression "puVar11[0x22] == 0" (subscript_expression "puVar11[0x22]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0001c310;" goto statement_identifier ;)) (labeled_statement "LAB_0001bd6c:\n          uVar6 = puVar11[0x49];" statement_identifier : (expression_statement "uVar6 = puVar11[0x49];" (assignment_expression "uVar6 = puVar11[0x49]" identifier = (subscript_expression "puVar11[0x49]" identifier [ number_literal ])) ;)) (if_statement "if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }" { (expression_statement "piVar23 = (int *)(uVar6 * 0x94);" (assignment_expression "piVar23 = (int *)(uVar6 * 0x94)" identifier = (cast_expression "(int *)(uVar6 * 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar6 * 0x94)" ( (binary_expression "uVar6 * 0x94" identifier * number_literal) )))) ;) (if_statement "if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;" if (parenthesized_expression "(uVar6 != (uint)piVar23 / 0x94)" ( (binary_expression "uVar6 != (uint)piVar23 / 0x94" identifier != (binary_expression "(uint)piVar23 / 0x94" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) / number_literal)) )) (goto_statement "goto LAB_0001c3a0;" goto statement_identifier ;)) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));" (assignment_expression "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10))" identifier = (call_expression "malloc(*(size_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar9 + -0x10)" * (cast_expression "(size_t *)((int)puVar9 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11[0x41] = pvVar12;" (assignment_expression "puVar11[0x41] = pvVar12" (subscript_expression "puVar11[0x41]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }" if (parenthesized_expression "(pvVar12 == (void *)0x0)" ( (binary_expression "pvVar12 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb57;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb57" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar21 = (undefined1 *)((int)puVar9 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar9 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 0xc17b;" (assignment_expression "iVar8 = iVar8 + 0xc17b" identifier = (binary_expression "iVar8 + 0xc17b" identifier + number_literal)) ;) (goto_statement "goto LAB_0001c3a9;" goto statement_identifier ;) })) })) (expression_statement "*(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x14)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x14)" ( (binary_expression "(int)puVar9 + 0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x42" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x42" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }" { (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (if_statement "if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }" if (parenthesized_expression "(((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0))" ( (binary_expression "((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)" (parenthesized_expression "((uVar6 & 8) == 0)" ( (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" ( (binary_expression "uVar6 & 8" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)" ( (comma_expression "piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0" (assignment_expression "piVar23 = (int *)puVar11[0x22]" identifier = (cast_expression "(int *)puVar11[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ]))) , (binary_expression "piVar23 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc1d7" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (expression_statement "piVar14 = (int *)puVar11[0x32];" (assignment_expression "piVar14 = (int *)puVar11[0x32]" identifier = (cast_expression "(int *)puVar11[0x32]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x32]" identifier [ number_literal ]))) ;) (expression_statement "*(int **)((int)puVar9 + 0x10) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + 0x10) = piVar14" (pointer_expression "*(int **)((int)puVar9 + 0x10)" * (cast_expression "(int **)((int)puVar9 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;" if (parenthesized_expression "(piVar14 == (int *)0xffffffff)" ( (binary_expression "piVar14 == (int *)0xffffffff" identifier == (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0001c078;" goto statement_identifier ;)) (labeled_statement "LAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" statement_identifier : (if_statement "if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" if (parenthesized_expression "((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0))" ( (binary_expression "(*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)" (parenthesized_expression "(*(short *)(puVar11 + 0x3e) == 0)" ( (binary_expression "*(short *)(puVar11 + 0x3e) == 0" (pointer_expression "*(short *)(puVar11 + 0x3e)" * (cast_expression "(short *)(puVar11 + 0x3e)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((puVar11[0x3d] & 0x100) == 0)" ( (binary_expression "(puVar11[0x3d] & 0x100) == 0" (parenthesized_expression "(puVar11[0x3d] & 0x100)" ( (binary_expression "puVar11[0x3d] & 0x100" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" { (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x80;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x80" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = (int *)((int)puVar9 + 0x6c);" (assignment_expression "piVar14 = (int *)((int)puVar9 + 0x6c)" identifier = (cast_expression "(int *)((int)puVar9 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6c)" ( (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (for_statement "for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }" for ( (assignment_expression "iVar7 = 0x20" identifier = number_literal) ; (binary_expression "iVar7 != 0" identifier != number_literal) ; (assignment_expression "iVar7 = iVar7 + -1" identifier = (binary_expression "iVar7 + -1" identifier + number_literal)) ) (compound_statement "{\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }" { (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" * identifier) = number_literal) ;) (expression_statement "piVar14 = piVar14 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar14 = piVar14 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "piVar14 + (uint)bVar25 * -2 + 1" (binary_expression "piVar14 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "*(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);" (assignment_expression "*(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38)" (pointer_expression "*(undefined1 **)((int)puVar9 + -8)" * (cast_expression "(undefined1 **)((int)puVar9 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);" (assignment_expression "*(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c)" (pointer_expression "*(int **)((int)puVar9 + -0xc)" * (cast_expression "(int **)((int)puVar9 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(int *)((int)puVar9 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6c)" ( (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));" (assignment_expression "iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" identifier = (call_expression "getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar9 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar9 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t **)((int)puVar9 + -8)" * (cast_expression "(socklen_t **)((int)puVar9 + -8)" ( (type_descriptor "socklen_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0001c540;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001c540;" goto statement_identifier ;)) (if_statement "if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" if (parenthesized_expression "(*(uint *)((int)puVar9 + 0x38) < 0x81)" ( (binary_expression "*(uint *)((int)puVar9 + 0x38) < 0x81" (pointer_expression "*(uint *)((int)puVar9 + 0x38)" * (cast_expression "(uint *)((int)puVar9 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) (compound_statement "{\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }" { (expression_statement "sVar2 = *(short *)((int)puVar9 + 0x6c);" (assignment_expression "sVar2 = *(short *)((int)puVar9 + 0x6c)" identifier = (pointer_expression "*(short *)((int)puVar9 + 0x6c)" * (cast_expression "(short *)((int)puVar9 + 0x6c)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6c)" ( (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" if (parenthesized_expression "((sVar2 == 2) || (sVar2 == 10))" ( (binary_expression "(sVar2 == 2) || (sVar2 == 10)" (parenthesized_expression "(sVar2 == 2)" ( (binary_expression "sVar2 == 2" identifier == number_literal) )) || (parenthesized_expression "(sVar2 == 10)" ( (binary_expression "sVar2 == 10" identifier == number_literal) ))) )) (compound_statement "{\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }" { (expression_statement "*(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;" (assignment_expression "*(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8" (pointer_expression "*(ushort *)(puVar11 + 0x3e)" * (cast_expression "(ushort *)(puVar11 + 0x3e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0x6e) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x6e)" * (cast_expression "(ushort *)((int)puVar9 + 0x6e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6e)" ( (binary_expression "(int)puVar9 + 0x6e" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 0x6e) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x6e)" * (cast_expression "(ushort *)((int)puVar9 + 0x6e)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x6e)" ( (binary_expression "(int)puVar9 + 0x6e" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) }) (else_clause "else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" else (if_statement "if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" if (parenthesized_expression "(sVar2 == 1)" ( (binary_expression "sVar2 == 1" identifier == number_literal) )) (compound_statement "{\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" { (expression_statement "piVar23 = (int *)0x0;" (assignment_expression "piVar23 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" * (cast_expression "(undefined2 *)(puVar11 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" else (compound_statement "{\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb328" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" * (cast_expression "(undefined2 *)(puVar11 + 0x3e)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3e)" ( (binary_expression "puVar11 + 0x3e" identifier + number_literal) )))) = number_literal) ;) }))))) }) (else_clause "else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" else (compound_statement "{\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc2bb" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) }))) }))) (do_statement "do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );" do (compound_statement "{\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001e210();" (assignment_expression "iVar7 = FUN_0001e210()" identifier = (call_expression "FUN_0001e210()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c455;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c455" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c461" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc307" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c472" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (if_statement "if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }" if (parenthesized_expression "(((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0))" ( (binary_expression "((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)" (parenthesized_expression "((puVar11[0x3d] & 0x200) != 0)" ( (binary_expression "(puVar11[0x3d] & 0x200) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x200)" ( (binary_expression "puVar11[0x3d] & 0x200" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(puVar11[0x22] != 0)" ( (binary_expression "puVar11[0x22] != 0" (subscript_expression "puVar11[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }" if (parenthesized_expression "((iVar7 != 0) && (*piVar23 == 9))" ( (binary_expression "(iVar7 != 0) && (*piVar23 == 9)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(*piVar23 == 9)" ( (binary_expression "*piVar23 == 9" (pointer_expression "*piVar23" * identifier) == number_literal) ))) )) (compound_statement "{\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }" { (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x18d4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x18d4" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001c5b0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (if_statement "if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }" if (parenthesized_expression "((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0))" ( (binary_expression "(*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)" (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) < 0x400)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) || (parenthesized_expression "((puVar11[0x3d] & 0x240) != 0)" ( (binary_expression "(puVar11[0x3d] & 0x240) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" ( (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 **)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001c200;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c200;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001c02e;" goto statement_identifier ;) })) }) (else_clause "else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" else (compound_statement "{\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" { (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (if_statement "if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;" if (parenthesized_expression "((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))" ( (binary_expression "(*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0)" (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) < 0x400)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < number_literal) )) || (parenthesized_expression "((uVar6 & 0x240) != 0)" ( (binary_expression "(uVar6 & 0x240) != 0" (parenthesized_expression "(uVar6 & 0x240)" ( (binary_expression "uVar6 & 0x240" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0001be45;" goto statement_identifier ;)) }))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x400;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x400" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = *(int **)((int)puVar9 + 0x10);" (assignment_expression "piVar14 = *(int **)((int)puVar9 + 0x10)" identifier = (pointer_expression "*(int **)((int)puVar9 + 0x10)" * (cast_expression "(int **)((int)puVar9 + 0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int **)((int)puVar9 + -8) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + -8) = piVar14" (pointer_expression "*(int **)((int)puVar9 + -8)" * (cast_expression "(int **)((int)puVar9 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb85b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar14" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c50f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c50f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x18e3;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x18e3" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c537" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c545;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c545" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc293" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c560" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc1ab" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x41]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001bf6b;" goto statement_identifier ;) })) })) })) (labeled_statement "LAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;" statement_identifier : (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }" statement_identifier : (if_statement "if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }" if (parenthesized_expression "(*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar9 + 0xec)" * (cast_expression "(int *)((int)puVar9 + 0xec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xec)" ( (binary_expression "(int)puVar9 + 0xec" (cast_expression "(int)puVar9" ( (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    return puVar11;\n  }" { (return_statement "return puVar11;" return identifier ;) }))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cc8f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00025ce0();" (call_expression "FUN_00025ce0()" identifier (argument_list "()" ( ))) ;) (while_statement "while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 **)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x25" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c005" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001c200;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c200;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c020" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c04a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c04a" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1904;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1904" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c072" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = (*pcVar3)();" (assignment_expression "uVar6 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;" statement_identifier : (if_statement "if ((uVar6 & 0x100) == 0) break;" if (parenthesized_expression "((uVar6 & 0x100) == 0)" ( (binary_expression "(uVar6 & 0x100) == 0" (parenthesized_expression "(uVar6 & 0x100)" ( (binary_expression "uVar6 & 0x100" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;))) (labeled_statement "LAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" statement_identifier : (if_statement "if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" if (parenthesized_expression "(((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0))" ( (binary_expression "((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)" (parenthesized_expression "((uVar6 & 0x200) != 0)" ( (binary_expression "(uVar6 & 0x200) != 0" (parenthesized_expression "(uVar6 & 0x200)" ( (binary_expression "uVar6 & 0x200" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)" ( (comma_expression "piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0" (assignment_expression "piVar14 = (int *)puVar11[0x22]" identifier = (cast_expression "(int *)puVar11[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ]))) , (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" { (if_statement "if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "((uVar6 & 4) != 0)" ( (binary_expression "(uVar6 & 4) != 0" (parenthesized_expression "(uVar6 & 4)" ( (binary_expression "uVar6 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc33f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be74" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1bfdf" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_000177a0();" (assignment_expression "iVar7 = FUN_000177a0()" identifier = (call_expression "FUN_000177a0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 1) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 != 1)" ( (binary_expression "iVar7 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) }))) })) (expression_statement "*(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;" (assignment_expression "*(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10" (pointer_expression "*(uint *)((int)puVar9 + -0x10)" * (cast_expression "(uint *)((int)puVar9 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10" (parenthesized_expression "(-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8)" ( (binary_expression "-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8" (unary_expression "-(uint)((uVar6 & 0x10) == 0)" - (call_expression "(uint)((uVar6 & 0x10) == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c098" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001e440();" (assignment_expression "iVar7 = FUN_0001e440()" identifier = (call_expression "FUN_0001e440()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + 0x10) = iVar7;" (assignment_expression "*(int *)((int)puVar9 + 0x10) = iVar7" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }" if (parenthesized_expression "(iVar7 != -1)" ( (binary_expression "iVar7 != -1" identifier != number_literal) )) (compound_statement "{\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }" { (if_statement "if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" if (parenthesized_expression "(puVar11[0x33] == 0)" ( (binary_expression "puVar11[0x33] == 0" (subscript_expression "puVar11[0x33]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }" { (labeled_statement "LAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);" (assignment_expression "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30)" (pointer_expression "*(undefined1 **)((int)puVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x30)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x30)" ( (binary_expression "(int)puVar9 + 0x30" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c5d7" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" else (if_statement "if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" if (parenthesized_expression "(0 < (int)puVar11[0x33])" ( (binary_expression "0 < (int)puVar11[0x33]" number_literal < (cast_expression "(int)puVar11[0x33]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar11[0x33]" identifier [ number_literal ]))) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = (int *)((int)puVar9 + 0x30);" (assignment_expression "piVar23 = (int *)((int)puVar9 + 0x30)" identifier = (cast_expression "(int *)((int)puVar9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x30)" ( (binary_expression "(int)puVar9 + 0x30" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int **)((int)puVar9 + -0x14) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x14) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x14)" * (cast_expression "(int **)((int)puVar9 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c707" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb9d" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)puVar9 + -0x14) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x14) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x14)" * (cast_expression "(int **)((int)puVar9 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0xf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0xf" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c725" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c735;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c735" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c750" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) })))) (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" identifier = (subscript_expression "puVar11[0x3d]" identifier [ number_literal ])) ;) (expression_statement "puVar15 = *(undefined1 **)((int)puVar9 + 0x34);" (assignment_expression "puVar15 = *(undefined1 **)((int)puVar9 + 0x34)" identifier = (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((uVar6 & 0x10) == 0) goto LAB_0001c698;" if (parenthesized_expression "((uVar6 & 0x10) == 0)" ( (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" ( (binary_expression "uVar6 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001c698;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x1c;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x1c" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" if (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" ( (binary_expression "puVar15 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "piVar23 = (int *)((int)puVar9 + 0x54);" (assignment_expression "piVar23 = (int *)((int)puVar9 + 0x54)" identifier = (cast_expression "(int *)((int)puVar9 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x54)" ( (binary_expression "(int)puVar9 + 0x54" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);" do (compound_statement "{\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      }" { (expression_statement "*(undefined4 *)((int)piVar23 + uVar16) = 0;" (assignment_expression "*(undefined4 *)((int)piVar23 + uVar16) = 0" (pointer_expression "*(undefined4 *)((int)piVar23 + uVar16)" * (cast_expression "(undefined4 *)((int)piVar23 + uVar16)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar23 + uVar16)" ( (binary_expression "(int)piVar23 + uVar16" (cast_expression "(int)piVar23" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) (expression_statement "uVar16 = uVar16 + 4;" (assignment_expression "uVar16 = uVar16 + 4" identifier = (binary_expression "uVar16 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar16 < 0x18)" ( (binary_expression "uVar16 < 0x18" identifier < number_literal) )) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x58) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x58) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x58)" ( (binary_expression "(int)puVar9 + 0x58" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x52)" * (cast_expression "(ushort *)((int)puVar9 + 0x52)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x52)" ( (binary_expression "(int)puVar9 + 0x52" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) (expression_statement "*(undefined2 *)((int)puVar9 + 0x50) = 10;" (assignment_expression "*(undefined2 *)((int)puVar9 + 0x50) = 10" (pointer_expression "*(undefined2 *)((int)puVar9 + 0x50)" * (cast_expression "(undefined2 *)((int)puVar9 + 0x50)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x50)" ( (binary_expression "(int)puVar9 + 0x50" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x5c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x5c) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x5c)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x5c)" ( (binary_expression "(int)puVar9 + 0x5c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x60) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x60) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x60)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x60)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x60)" ( (binary_expression "(int)puVar9 + 0x60" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);" (assignment_expression "*(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50)" (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x50)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x50)" ( (binary_expression "(int)puVar9 + 0x50" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 100) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 100) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 100)" * (cast_expression "(undefined4 *)((int)puVar9 + 100)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 100)" ( (binary_expression "(int)puVar9 + 100" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" else (compound_statement "{\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "*(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);" (assignment_expression "*(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810)" (pointer_expression "*(uint *)((int)puVar9 + 0x3c)" * (cast_expression "(uint *)((int)puVar9 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x3c)" ( (binary_expression "(int)puVar9 + 0x3c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (call_expression "(uint)((uVar6 & 0x810) != 0x810)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar6 & 0x810) != 0x810)" ( (binary_expression "(uVar6 & 0x810) != 0x810" (parenthesized_expression "(uVar6 & 0x810)" ( (binary_expression "uVar6 & 0x810" identifier & number_literal) )) != number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);" (assignment_expression "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c)" (pointer_expression "*(undefined1 **)((int)puVar9 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar9 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar9 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x3c)" ( (binary_expression "(int)puVar9 + 0x3c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0x1a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0x1a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 0x29;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 0x29" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c114" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }" if (parenthesized_expression "(iVar7 < 0)" ( (binary_expression "iVar7 < 0" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb75;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb75" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x38)" identifier = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar15 = *(undefined1 **)((int)puVar9 + 0x34);" (assignment_expression "puVar15 = *(undefined1 **)((int)puVar9 + 0x34)" identifier = (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_0001c127;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c765;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c765" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc21f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c780" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" statement_identifier : (if_statement "if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" if (parenthesized_expression "(puVar11[0x34] != -1)" ( (binary_expression "puVar11[0x34] != -1" (subscript_expression "puVar11[0x34]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x34]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "close(*(int *)((int)puVar9 + -0x10));" (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) }))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x41]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x14)" ( (binary_expression "(int)puVar9 + 0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }" { (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19e2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19e2" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ccae;" goto statement_identifier ;) })) (if_statement "if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }" if (parenthesized_expression "(puVar11[0x36] != -1)" ( (binary_expression "puVar11[0x36] != -1" (subscript_expression "puVar11[0x36]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x36]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1bf62;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1bf62" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) goto LAB_0001c5fa;" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (goto_statement "goto LAB_0001c5fa;" goto statement_identifier ;)) })) })) (goto_statement "goto LAB_0001bf6b;" goto statement_identifier ;) (labeled_statement "LAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" statement_identifier : (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19f0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19f0" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c619" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (do_statement "do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);" do (compound_statement "{\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  }" { (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc38f" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c630" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c638" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar17 = puVar9;" (assignment_expression "puVar17 = puVar9" identifier = identifier) ;) (if_statement "if (iVar7 != 0) goto LAB_0001cd49;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cd49;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10)" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c659" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c669;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c669" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1911;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1911" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c691" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "puVar15 = (undefined1 *)(*pcVar3)();" (assignment_expression "puVar15 = (undefined1 *)(*pcVar3)()" identifier = (cast_expression "(undefined1 *)(*pcVar3)()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x10;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x10" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x38)" ( (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" if (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" ( (binary_expression "puVar15 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + 0x40);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + 0x40)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + 0x40)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x40)" ( (binary_expression "(int)puVar9 + 0x40" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined2 *)((int)puVar9 + 0x40) = 2;" (assignment_expression "*(undefined2 *)((int)puVar9 + 0x40) = 2" (pointer_expression "*(undefined2 *)((int)puVar9 + 0x40)" * (cast_expression "(undefined2 *)((int)puVar9 + 0x40)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x40)" ( (binary_expression "(int)puVar9 + 0x40" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x44)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x44)" ( (binary_expression "(int)puVar9 + 0x44" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x48) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x48) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x48)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x48)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x48)" ( (binary_expression "(int)puVar9 + 0x48" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x4c) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x4c)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x4c)" ( (binary_expression "(int)puVar9 + 0x4c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x42)" * (cast_expression "(ushort *)((int)puVar9 + 0x42)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x42)" ( (binary_expression "(int)puVar9 + 0x42" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) | (binary_expression "*(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal))) ;) (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" identifier = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar9 + 0x34) = puVar15;" (assignment_expression "*(undefined1 **)((int)puVar9 + 0x34) = puVar15" (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" * (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x34)" ( (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" else (compound_statement "{\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" { (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" identifier = number_literal) ;) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) }))) (labeled_statement "LAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -8) = uVar18;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = uVar18" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined1 **)((int)puVar9 + -0xc) = puVar15;" (assignment_expression "*(undefined1 **)((int)puVar9 + -0xc) = puVar15" (pointer_expression "*(undefined1 **)((int)puVar9 + -0xc)" * (cast_expression "(undefined1 **)((int)puVar9 + -0xc)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c135" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));" (assignment_expression "iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" identifier = (call_expression "bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(sockaddr **)((int)puVar9 + -0xc)" * (cast_expression "(sockaddr **)((int)puVar9 + -0xc)" ( (type_descriptor "sockaddr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -8)" * (cast_expression "(socklen_t *)((int)puVar9 + -8)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c7c5" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -0x14) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -0x14) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -0x14)" * (cast_expression "(char **)((int)puVar9 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);" (assignment_expression "*(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc)" (pointer_expression "*(uint *)((int)puVar9 + -0x18)" * (cast_expression "(uint *)((int)puVar9 + -0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)*(ushort *)((int)puVar9 + 0xc)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar9 + 0xc)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc24b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar7 == 0) || (*piVar23 != 9))" ( (binary_expression "(iVar7 == 0) || (*piVar23 != 9)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*piVar23 != 9)" ( (binary_expression "*piVar23 != 9" (pointer_expression "*piVar23" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x184d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x184d" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c824" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_0001c828;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }" if (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0)" ( (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 0x40)" ( (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 0x40" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" * (cast_expression "(byte *)((int)puVar11 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xf5)" ( (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }" { (if_statement "if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }" if (parenthesized_expression "(puVar11[0x4a] == 0)" ( (binary_expression "puVar11[0x4a] == 0" (subscript_expression "puVar11[0x4a]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        puVar11[0x4a] = 10;\n      }" { (expression_statement "puVar11[0x4a] = 10;" (assignment_expression "puVar11[0x4a] = 10" (subscript_expression "puVar11[0x4a]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x4a" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0x17;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0x17" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 6;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 6" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c177" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier = (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x20)" * (cast_expression "(int *)((int)puVar9 + -0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0x18)" * (cast_expression "(int *)((int)puVar9 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(void **)((int)puVar9 + -0x14)" * (cast_expression "(void **)((int)puVar9 + -0x14)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" * (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" ( (type_descriptor "socklen_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb2f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb311" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x4b]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c194" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier = (call_expression "listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar7) goto LAB_0001bdf8;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_0001bdf8;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c1a4" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc26b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar14 = *(int **)((int)puVar9 + -0x10);" (assignment_expression "piVar14 = *(int **)((int)puVar9 + -0x10)" identifier = (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar7 == 0) || (*piVar23 != 9))" ( (binary_expression "(iVar7 == 0) || (*piVar23 != 9)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*piVar23 != 9)" ( (binary_expression "*piVar23 != 9" (pointer_expression "*piVar23" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x186b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x186b" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c200:\n    piVar23 = puVar11 + 0x2b;" statement_identifier : (expression_statement "piVar23 = puVar11 + 0x2b;" (assignment_expression "piVar23 = puVar11 + 0x2b" identifier = (binary_expression "puVar11 + 0x2b" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c211" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) (if_statement "if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;" if (parenthesized_expression "((puVar11[0x3d] & 0x108) != 8)" ( (binary_expression "(puVar11[0x3d] & 0x108) != 8" (parenthesized_expression "(puVar11[0x3d] & 0x108)" ( (binary_expression "puVar11[0x3d] & 0x108" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "piVar14 = (int *)puVar11[0x22];" (assignment_expression "piVar14 = (int *)puVar11[0x22]" identifier = (cast_expression "(int *)puVar11[0x22]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ]))) ;) (if_statement "if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }" { (expression_statement "iVar7 = iVar8 + 0xb306;" (assignment_expression "iVar7 = iVar8 + 0xb306" identifier = (binary_expression "iVar8 + 0xb306" identifier + number_literal)) ;) (if_statement "if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }" if (parenthesized_expression "((puVar11[0x3d] & 4) != 0)" ( (binary_expression "(puVar11[0x3d] & 4) != 0" (parenthesized_expression "(puVar11[0x3d] & 4)" ( (binary_expression "puVar11[0x3d] & 4" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      iVar7 = iVar8 + 0xb2fb;\n    }" { (expression_statement "iVar7 = iVar8 + 0xb2fb;" (assignment_expression "iVar7 = iVar8 + 0xb2fb" identifier = (binary_expression "iVar8 + 0xb2fb" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar9 + -0x14)" * (cast_expression "(int *)((int)puVar9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + -0x8d9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x21]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar7;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar7" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar11 + 0x23" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c270" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001f380();" (assignment_expression "iVar7 = FUN_0001f380()" identifier = (call_expression "FUN_0001f380()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0001bf79;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c280;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c280" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar14;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar14" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc3c7" identifier + number_literal)) ;) (expression_statement "puVar20 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar20 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar22 = (undefined1 *)puVar9;" (assignment_expression "puVar22 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) goto LAB_0001cd2a;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cd2a;" goto statement_identifier ;)) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10)" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;" if (parenthesized_expression "((iVar7 == 0) || (*piVar14 != 9))" ( (binary_expression "(iVar7 == 0) || (*piVar14 != 9)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) || (parenthesized_expression "(*piVar14 != 9)" ( (binary_expression "*piVar14 != 9" (pointer_expression "*piVar14" * identifier) != number_literal) ))) )) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x193e;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x193e" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c310" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar20 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar20 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar20 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));" (assignment_expression "iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" identifier = (call_expression "eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" identifier (argument_list "(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" ( (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar20 + -0xc)" * (cast_expression "(int *)((int)puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11[0x36] = iVar7;" (assignment_expression "puVar11[0x36] = iVar7" (subscript_expression "puVar11[0x36]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" { (expression_statement "*(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;" (assignment_expression "*(undefined4 *)((int)puVar20 + -4) = 0x1cbc5" (pointer_expression "*(undefined4 *)((int)puVar20 + -4)" * (cast_expression "(undefined4 *)((int)puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -4)" ( (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar20 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar20 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar20 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar20 + -0x10))" identifier (argument_list "(*(int *)((int)puVar20 + -0x10))" ( (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar21 = (undefined1 *)((int)puVar20 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar20 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar20 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -8)" ( (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar20 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar20 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar20 + -8)" * (cast_expression "(char **)((int)puVar20 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar20 + -8)" ( (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "iVar8 = iVar8 + 0xc0c7;" (assignment_expression "iVar8 = iVar8 + 0xc0c7" identifier = (binary_expression "iVar8 + 0xc0c7" identifier + number_literal)) ;) (goto_statement "goto LAB_0001c3a9;" goto statement_identifier ;) })) (expression_statement "puVar9 = puVar20;" (assignment_expression "puVar9 = puVar20" identifier = identifier) ;) (if_statement "if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;" if (parenthesized_expression "(((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400))" ( (binary_expression "((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)" (parenthesized_expression "((puVar11[0x3d] & 0x240) != 0)" ( (binary_expression "(puVar11[0x3d] & 0x240) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" ( (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar7 < 0x400)" ( (binary_expression "iVar7 < 0x400" identifier < number_literal) ))) )) (goto_statement "goto LAB_0001bd6c;" goto statement_identifier ;)) (expression_statement "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;" (assignment_expression "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103" (pointer_expression "*(int *)((int)puVar20 + -0xc)" * (cast_expression "(int *)((int)puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc103" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar20 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar20 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36]" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x36]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c368" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar20 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar20 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar20 + -0x10))" identifier (argument_list "(*(int *)((int)puVar20 + -0x10))" ( (pointer_expression "*(int *)((int)puVar20 + -0x10)" * (cast_expression "(int *)((int)puVar20 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }" { (expression_statement "*(undefined4 *)((int)puVar20 + -4) = 0x1c378;" (assignment_expression "*(undefined4 *)((int)puVar20 + -4) = 0x1c378" (pointer_expression "*(undefined4 *)((int)puVar20 + -4)" * (cast_expression "(undefined4 *)((int)puVar20 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -4)" ( (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }" if (parenthesized_expression "(*piVar5 == 9)" ( (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" * identifier) == number_literal) )) (compound_statement "{\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }" { (expression_statement "*(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar20 + -4)" * (cast_expression "(int *)((int)puVar20 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -4)" ( (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -8) = 0x172d;" (assignment_expression "*(undefined4 *)((int)puVar20 + -8) = 0x172d" (pointer_expression "*(undefined4 *)((int)puVar20 + -8)" * (cast_expression "(undefined4 *)((int)puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -8)" ( (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar20 + -0xc)" * (cast_expression "(int *)((int)puVar20 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0xc)" ( (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)((int)puVar20 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar20 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x10)" ( (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar20 + -0x14)" ( (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;" statement_identifier : (expression_statement "iVar8 = iVar8 + 0xc153;" (assignment_expression "iVar8 = iVar8 + 0xc153" identifier = (binary_expression "iVar8 + 0xc153" identifier + number_literal)) ;)) (expression_statement "puVar21 = (undefined1 *)((int)puVar9 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar9 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;" statement_identifier : (expression_statement "*(int *)(puVar21 + -4) = iVar8;" (assignment_expression "*(int *)(puVar21 + -4) = iVar8" (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) )))) = identifier) ;)) (expression_statement "*(undefined4 **)(puVar21 + -8) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -8) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -8)" * (cast_expression "(undefined4 **)(puVar21 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 0x1c3b0" (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 "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 **)(puVar21 + -8) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -8) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -8)" * (cast_expression "(undefined4 **)(puVar21 + -8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 0x1c3ba" (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 "free(*(void **)(puVar21 + -8));" (call_expression "free(*(void **)(puVar21 + -8))" identifier (argument_list "(*(void **)(puVar21 + -8))" ( (pointer_expression "*(void **)(puVar21 + -8)" * (cast_expression "(void **)(puVar21 + -8)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) ))) ;) (expression_statement "puVar9 = (undefined4 *)(puVar21 + 8);" (assignment_expression "puVar9 = (undefined4 *)(puVar21 + 8)" identifier = (cast_expression "(undefined4 *)(puVar21 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 8)" ( (binary_expression "puVar21 + 8" identifier + number_literal) )))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;" statement_identifier : (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;) })) (labeled_statement "LAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)(puVar22 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar22 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar22 + -4)" * (cast_expression "(int *)(puVar22 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -4)" ( (binary_expression "puVar22 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x193b;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x193b" (pointer_expression "*(undefined4 *)(puVar22 + -8)" * (cast_expression "(undefined4 *)(puVar22 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -8)" ( (binary_expression "puVar22 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar22 + -0xc)" * (cast_expression "(int *)(puVar22 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0xc)" ( (binary_expression "puVar22 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)(puVar22 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" * (cast_expression "(undefined4 *)(puVar22 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + -0x10)" ( (binary_expression "puVar22 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1ccec;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1ccec" (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 "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" statement_identifier : (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2c9" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1977;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1977" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" else (compound_statement "{\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" { (labeled_statement "LAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];" statement_identifier : (expression_statement "piVar23 = (int *)puVar11[0x3a];" (assignment_expression "piVar23 = (int *)puVar11[0x3a]" identifier = (cast_expression "(int *)puVar11[0x3a]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x3a]" identifier [ number_literal ]))) ;)) (expression_statement "*(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(int)piVar14 * 0x130" (cast_expression "(int)piVar14" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));" (assignment_expression "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10))" identifier = (call_expression "malloc(*(size_t *)((int)puVar9 + -0x10))" identifier (argument_list "(*(size_t *)((int)puVar9 + -0x10))" ( (pointer_expression "*(size_t *)((int)puVar9 + -0x10)" * (cast_expression "(size_t *)((int)puVar9 + -0x10)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11[0x1d] = pvVar12;" (assignment_expression "puVar11[0x1d] = pvVar12" (subscript_expression "puVar11[0x1d]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }" if (parenthesized_expression "(pvVar12 != (void *)0x0)" ( (binary_expression "pvVar12 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar9 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;" (assignment_expression "*(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14" (pointer_expression "*(uint *)((int)puVar9 + 0x24)" * (cast_expression "(uint *)((int)puVar9 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x24)" ( (binary_expression "(int)puVar9 + 0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)piVar23 / (uint)piVar14" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;" (assignment_expression "*(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14" (pointer_expression "*(uint *)((int)puVar9 + 0x28)" * (cast_expression "(uint *)((int)puVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x28)" ( (binary_expression "(int)puVar9 + 0x28" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)piVar23 % (uint)piVar14" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) % (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;" (assignment_expression "*(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1" (pointer_expression "*(uint *)((int)puVar9 + 0x2c)" * (cast_expression "(uint *)((int)puVar9 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x2c)" ( (binary_expression "(int)puVar9 + 0x2c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "(uint)piVar23 / (uint)piVar14 + 1" (binary_expression "(uint)piVar23 / (uint)piVar14" (cast_expression "(uint)piVar23" ( (type_descriptor "uint" type_identifier) ) identifier) / (cast_expression "(uint)piVar14" ( (type_descriptor "uint" type_identifier) ) identifier)) + number_literal)) ;) (while_statement "while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }" { (expression_statement "puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));" (assignment_expression "puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" identifier = (cast_expression "(undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" ( (binary_expression "(int)pvVar12 + *(int *)((int)puVar9 + 0x18)" (cast_expression "(int)pvVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )))) ;) (expression_statement "*puVar17 = *puVar11;" (assignment_expression "*puVar17 = *puVar11" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);" (assignment_expression "iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc)" identifier = (binary_expression "(int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc)" (cast_expression "(int)puVar17" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(puVar17 + 1) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(puVar17 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar17 + 1) & 0xfffffffc" (call_expression "(uint)(puVar17 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + 1)" ( (binary_expression "puVar17 + 1" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "puVar17[0x4b] = puVar11[0x4b];" (assignment_expression "puVar17[0x4b] = puVar11[0x4b]" (subscript_expression "puVar17[0x4b]" identifier [ number_literal ]) = (subscript_expression "puVar11[0x4b]" identifier [ number_literal ])) ;) (expression_statement "piVar23 = (int *)((int)puVar11 - iVar7);" (assignment_expression "piVar23 = (int *)((int)puVar11 - iVar7)" identifier = (cast_expression "(int *)((int)puVar11 - iVar7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 - iVar7)" ( (binary_expression "(int)puVar11 - iVar7" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);" (assignment_expression "piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc)" identifier = (cast_expression "(int *)((uint)(puVar17 + 1) & 0xfffffffc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar17 + 1) & 0xfffffffc)" ( (binary_expression "(uint)(puVar17 + 1) & 0xfffffffc" (call_expression "(uint)(puVar17 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + 1)" ( (binary_expression "puVar17 + 1" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }" for ( (assignment_expression "uVar6 = iVar7 + 0x130U >> 2" identifier = (binary_expression "iVar7 + 0x130U >> 2" (binary_expression "iVar7 + 0x130U" identifier + number_literal) >> number_literal)) ; (binary_expression "uVar6 != 0" identifier != number_literal) ; (assignment_expression "uVar6 = uVar6 - 1" identifier = (binary_expression "uVar6 - 1" identifier - number_literal)) ) (compound_statement "{\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }" { (expression_statement "*piVar14 = *piVar23;" (assignment_expression "*piVar14 = *piVar23" (pointer_expression "*piVar14" * identifier) = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "piVar23 = piVar23 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar23 = piVar23 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "piVar23 + (uint)bVar25 * -2 + 1" (binary_expression "piVar23 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "piVar14 = piVar14 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar14 = piVar14 + (uint)bVar25 * -2 + 1" identifier = (binary_expression "piVar14 + (uint)bVar25 * -2 + 1" (binary_expression "piVar14 + (uint)bVar25 * -2" identifier + (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "puVar17[0x1c] = puVar11;" (assignment_expression "puVar17[0x1c] = puVar11" (subscript_expression "puVar17[0x1c]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[0x22] = 0;" (assignment_expression "puVar17[0x22] = 0" (subscript_expression "puVar17[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[0x1d] = 0;" (assignment_expression "puVar17[0x1d] = 0" (subscript_expression "puVar17[0x1d]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" if (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 4) == 0)" ( (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 4) == 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 4)" ( (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 4" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" * (cast_expression "(byte *)((int)puVar11 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xf5)" ( (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          puVar17[0x36] = 0xffffffff;\n        }" { (expression_statement "puVar17[0x36] = 0xffffffff;" (assignment_expression "puVar17[0x36] = 0xffffffff" (subscript_expression "puVar17[0x36]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" else (compound_statement "{\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier = (call_expression "eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar17[0x36] = iVar7;" (assignment_expression "puVar17[0x36] = iVar7" (subscript_expression "puVar17[0x36]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }" { (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cc67;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cc67" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc3eb" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;) })) (if_statement "if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" if (parenthesized_expression "(((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7))" ( (binary_expression "((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)" (parenthesized_expression "((puVar11[0x3d] & 0x240) == 0)" ( (binary_expression "(puVar11[0x3d] & 0x240) == 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" ( (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) && (parenthesized_expression "(0x3ff < iVar7)" ( (binary_expression "0x3ff < iVar7" number_literal < identifier) ))) )) (compound_statement "{\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0x18) = puVar17;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x18) = puVar17" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x18)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x18)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc42b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)((int)puVar9 + -0x10);" (assignment_expression "piVar23 = *(int **)((int)puVar9 + -0x10)" identifier = (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" * (cast_expression "(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)puVar9 + 0x18) + 0xd8)" ( (binary_expression "*(int *)((int)puVar9 + 0x18) + 0xd8" (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001ca07;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c9fe" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001ca07;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) (goto_statement "goto LAB_0001ccec;" goto statement_identifier ;) })) }))) (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x2c)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x2c)" ( (binary_expression "(int)puVar9 + 0x2c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }" if (parenthesized_expression "(*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20))" ( (binary_expression "*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)" (pointer_expression "*(uint *)((int)puVar9 + 0x28)" * (cast_expression "(uint *)((int)puVar9 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x28)" ( (binary_expression "(int)puVar9 + 0x28" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) <= (pointer_expression "*(uint *)((int)puVar9 + 0x20)" * (cast_expression "(uint *)((int)puVar9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }" { (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x24)" identifier = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x24)" ( (binary_expression "(int)puVar9 + 0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })) (expression_statement "puVar17[0x3a] = uVar18;" (assignment_expression "puVar17[0x3a] = uVar18" (subscript_expression "puVar17[0x3a]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }" if (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 2) != 0)" ( (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 2) != 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 2)" ( (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 2" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" * (cast_expression "(byte *)((int)puVar11 + 0xf5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar11 + 0xf5)" ( (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }" { (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c8ad" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_000177a0();" (assignment_expression "iVar7 = FUN_000177a0()" identifier = (call_expression "FUN_000177a0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 != 1) goto LAB_0001ca07;" if (parenthesized_expression "(iVar7 != 1)" ( (binary_expression "iVar7 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0001ca07;" goto statement_identifier ;)) })) (expression_statement "piVar23 = puVar17 + 0x2b;" (assignment_expression "piVar23 = puVar17 + 0x2b" identifier = (binary_expression "puVar17 + 0x2b" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier = (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" * (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" ( (type_descriptor "pthread_mutexattr_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 != 0) goto LAB_0001cc38;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cc38;" goto statement_identifier ;)) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar17;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar17" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar9 + -0x14)" * (cast_expression "(int *)((int)puVar9 + -0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + -0x8d9" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x18)" ( (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x21]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" * (cast_expression "(int *)((int)puVar9 + -0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x1c)" ( (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb341" identifier + number_literal)) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x20)" ( (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "puVar17 + 0x23" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c906" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x24)" ( (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = FUN_0001f380();" (assignment_expression "iVar7 = FUN_0001f380()" identifier = (call_expression "FUN_0001f380()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" * (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + 0x1c)" ( (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "*(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;" (assignment_expression "*(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar9 + 0x20)" * (cast_expression "(int *)((int)puVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)puVar9 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar9 + 0x20)" * (cast_expression "(int *)((int)puVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;" (assignment_expression "*(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "*(int *)((int)puVar9 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar9 + 0x18)" * (cast_expression "(int *)((int)puVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x18)" ( (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal)) ;) (if_statement "if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;" if (parenthesized_expression "((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20))" ( (binary_expression "(uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)" (cast_expression "(uint)puVar11[0x22]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar11[0x22]" identifier [ number_literal ])) <= (pointer_expression "*(uint *)((int)puVar9 + 0x20)" * (cast_expression "(uint *)((int)puVar9 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_0001bf79;" goto statement_identifier ;)) (expression_statement "pvVar12 = (void *)puVar11[0x1d];" (assignment_expression "pvVar12 = (void *)puVar11[0x1d]" identifier = (cast_expression "(void *)puVar11[0x1d]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar11[0x1d]" identifier [ number_literal ]))) ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cbe5" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" * (cast_expression "(char **)((int)puVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xc4b7" identifier + number_literal)) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" * (cast_expression "(int **)((int)puVar9 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }" { (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19a1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19a1" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar11 = extraout_EDX;" (assignment_expression "puVar11 = extraout_EDX" identifier = identifier) ;) (labeled_statement "LAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;" statement_identifier : (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xc483;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xc483" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xc483" identifier + number_literal)) ;)) (expression_statement "*(undefined4 **)(puVar15 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)(puVar15 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)(puVar15 + -0x10)" * (cast_expression "(undefined4 **)(puVar15 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cc4a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar9 = (undefined4 *)puVar15;" (assignment_expression "puVar9 = (undefined4 *)puVar15" identifier = (cast_expression "(undefined4 *)puVar15" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (labeled_statement "LAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" statement_identifier : (if_statement "if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x20) != 0)" ( (binary_expression "*(int *)((int)puVar9 + 0x20) != 0" (pointer_expression "*(int *)((int)puVar9 + 0x20)" * (cast_expression "(int *)((int)puVar9 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" { (expression_statement "puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);" (assignment_expression "puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20)" (subscript_expression "puVar11[0x22]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x20)" ( (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "MHD_stop_daemon();" (call_expression "MHD_stop_daemon()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001bfd0;" goto statement_identifier ;) }))) })) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }" if (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" ( (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" * (cast_expression "(int *)((int)puVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }" { (labeled_statement "LAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" statement_identifier : (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0xc)" ( (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier = (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" identifier (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" ( (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" * (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" { (if_statement "if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }" if (parenthesized_expression "(puVar11[0x1d] != 0)" ( (binary_expression "puVar11[0x1d] != 0" (subscript_expression "puVar11[0x1d]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }" { (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "puVar11[0x1d]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" identifier (argument_list "(*(void **)((int)puVar9 + -0x10))" ( (pointer_expression "*(void **)((int)puVar9 + -0x10)" * (cast_expression "(void **)((int)puVar9 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) })) (goto_statement "goto LAB_0001bf08;" goto statement_identifier ;) })) (labeled_statement "LAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)(puVar15 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar15 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x19ba;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x19ba" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" identifier = (binary_expression "puVar15 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cccd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cccd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cccd;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + 0x10)" ( (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" identifier = (call_expression "close(*(int *)((int)puVar9 + -0x10))" identifier (argument_list "(*(int *)((int)puVar9 + -0x10))" ( (pointer_expression "*(int *)((int)puVar9 + -0x10)" * (cast_expression "(int *)((int)puVar9 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (iVar7 == 0) goto LAB_0001ca3b;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001ca3b;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1ca32;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1ca32" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" * (cast_expression "(undefined4 *)((int)puVar9 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" identifier = (cast_expression "(undefined1 *)puVar9" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*piVar5 != 9) goto LAB_0001ca3b;" if (parenthesized_expression "(*piVar5 != 9)" ( (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0001ca3b;" goto statement_identifier ;)) }))) (expression_statement "*(int *)(puVar15 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)(puVar15 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)(puVar15 + -4)" * (cast_expression "(int *)(puVar15 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -4)" ( (binary_expression "puVar15 + -4" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb22d" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x19b9;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x19b9" (pointer_expression "*(undefined4 *)(puVar15 + -8)" * (cast_expression "(undefined4 *)(puVar15 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -8)" ( (binary_expression "puVar15 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar15 + -0xc)" * (cast_expression "(int *)(puVar15 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0xc)" ( (binary_expression "puVar15 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar9 = (undefined4 *)(puVar15 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)(puVar15 + -0x10)" identifier = (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" * (cast_expression "(undefined4 *)(puVar15 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x10)" ( (binary_expression "puVar15 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cd2a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" * (cast_expression "(undefined4 *)(puVar15 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + -0x14)" ( (binary_expression "puVar15 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" * (cast_expression "(int *)((int)puVar9 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -4)" ( (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x193c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x193c" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" * (cast_expression "(undefined4 *)((int)puVar9 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -8)" ( (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" * (cast_expression "(int *)((int)puVar9 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0xc)" ( (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar17 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)((int)puVar9 + -0x10)" identifier = (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x10)" ( (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + -0x14)" ( (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;" statement_identifier : (expression_statement "puVar17[-1] = iVar8 + 0xb2e1;" (assignment_expression "puVar17[-1] = iVar8 + 0xb2e1" (subscript_expression "puVar17[-1]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xb2e1" identifier + number_literal)) ;)) (expression_statement "puVar17[-2] = 0x190e;" (assignment_expression "puVar17[-2] = 0x190e" (subscript_expression "puVar17[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-3] = iVar8 + 0xb1ff;" (assignment_expression "puVar17[-3] = iVar8 + 0xb1ff" (subscript_expression "puVar17[-3]" identifier [ number_literal ]) = (binary_expression "iVar8 + 0xb1ff" identifier + number_literal)) ;) (expression_statement "puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8)" (subscript_expression "puVar17[-4]" identifier [ number_literal ]) = (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" * (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&UNK_0001462f + iVar8)" ( (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" & identifier) + identifier) ))))) ;) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" identifier = (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" * (cast_expression "(code **)(&UNK_00014633 + iVar8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&UNK_00014633 + iVar8)" ( (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" & identifier) + identifier) ))))) ;) (expression_statement "puVar17[-5] = 0x1cd68;" (assignment_expression "puVar17[-5] = 0x1cd68" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar17[-5] = &UNK_000144c7 + iVar8;" (assignment_expression "puVar17[-5] = &UNK_000144c7 + iVar8" (subscript_expression "puVar17[-5]" identifier [ number_literal ]) = (binary_expression "&UNK_000144c7 + iVar8" (pointer_expression "&UNK_000144c7" & identifier) + identifier)) ;) (expression_statement "puVar17[-6] = 0x1cd76;" (assignment_expression "puVar17[-6] = 0x1cd76" (subscript_expression "puVar17[-6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17[-9] = puVar17 + 3;" (assignment_expression "puVar17[-9] = puVar17 + 3" (subscript_expression "puVar17[-9]" identifier [ number_literal ]) = (binary_expression "puVar17 + 3" identifier + number_literal)) ;) (expression_statement "puVar17[-10] = puVar17[2];" (assignment_expression "puVar17[-10] = puVar17[2]" (subscript_expression "puVar17[-10]" identifier [ number_literal ]) = (subscript_expression "puVar17[2]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xb] = puVar17[1];" (assignment_expression "puVar17[-0xb] = puVar17[1]" (subscript_expression "puVar17[-0xb]" identifier [ number_literal ]) = (subscript_expression "puVar17[1]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xc] = *puVar17;" (assignment_expression "puVar17[-0xc] = *puVar17" (subscript_expression "puVar17[-0xc]" identifier [ number_literal ]) = (pointer_expression "*puVar17" * identifier)) ;) (expression_statement "puVar17[-0xd] = puVar17[-1];" (assignment_expression "puVar17[-0xd] = puVar17[-1]" (subscript_expression "puVar17[-0xd]" identifier [ number_literal ]) = (subscript_expression "puVar17[-1]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);" (assignment_expression "puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2)" (subscript_expression "puVar17[-0xe]" identifier [ number_literal ]) = (binary_expression "(uint)*(ushort *)(puVar17 + -2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)(puVar17 + -2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -2)" ( (binary_expression "puVar17 + -2" identifier + number_literal) ))))) ;) (expression_statement "puVar17[-0xf] = puVar17[-3];" (assignment_expression "puVar17[-0xf] = puVar17[-3]" (subscript_expression "puVar17[-0xf]" identifier [ number_literal ]) = (subscript_expression "puVar17[-3]" identifier [ number_literal ])) ;) (expression_statement "puVar17[-0x10] = 0x1cda6;" (assignment_expression "puVar17[-0x10] = 0x1cda6" (subscript_expression "puVar17[-0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar17 = (undefined4 *)MHD_start_daemon_va();" (assignment_expression "puVar17 = (undefined4 *)MHD_start_daemon_va()" identifier = (cast_expression "(undefined4 *)MHD_start_daemon_va()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "MHD_start_daemon_va()" identifier (argument_list "()" ( ))))) ;) (return_statement "return puVar17;" return identifier ;) }))
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( (binary_expression IDENT * IDENT) , (ERROR IDENT) IDENT ))))) (compound_statement { (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_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 ')) )) (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 = 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 { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = 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 { (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 ( ))) ;) }) (else_clause else (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 (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) )))) = (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) }) (else_clause else (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) )))) = LIT) ;)) (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 (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) )))) , (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 * (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 ( ))) ;) (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) ;)) (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 (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) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (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) )))) = (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) )) (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) )))) = (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 = (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) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (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) )))) = (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) )) (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) )))) = (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 = (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) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) , (binary_expression IDENT < LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression (pointer_expression * IDENT) != LIT)) ))) )) (break_statement break ;)) (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 IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (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 = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (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 ;)) }))) (expression_statement (assignment_expression IDENT = (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ))))) ;) }) while (parenthesized_expression ( (binary_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 ;)) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 * (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 ( ))) ;) (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) )))) = (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 = (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) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (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 { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (return_statement return IDENT ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 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 ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_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 ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (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) )))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT + LIT)) , (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (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) ) IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) | LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (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) )))) ;) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (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) )))) = IDENT) ;) (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 ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) | LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (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) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (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 { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT | LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / LIT)) )) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (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) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ;) }))))) }) (else_clause else (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) }))) (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) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 ;)) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 < LIT) )) (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (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) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 < LIT) )) (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 < LIT) )) (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) })))) (expression_statement (assignment_expression IDENT = (subscript_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 < LIT) )) (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 ;)) })) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 == LIT) )) (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 != LIT) )) (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) + 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (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 LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) )))) = 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 ( ))) ;) (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 = (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 (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (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) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) & LIT) )))) ;) (for_statement for ( (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT - LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 ;)) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 * (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 (call_expression (parenthesized_expression ( (pointer_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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) 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 *)) ) IDENT)) ;) (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 IDENT = (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 (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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 (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression & IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (return_statement return IDENT ;) }))
(ERROR "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)" (binary_expression "undefined4 * __regparm1 MHD_stop_daemon(undefined4 *param_1,int param_2)" (identifier "undefined4") (* "*") (ERROR "__regparm1" (identifier "__regparm1")) (call_expression "MHD_stop_daemon(undefined4 *param_1,int param_2)" (identifier "MHD_stop_daemon") (argument_list "(undefined4 *param_1,int param_2)" (( "(") (binary_expression "undefined4 *param_1" (identifier "undefined4") (* "*") (identifier "param_1")) (, ",") (ERROR "int" (identifier "int")) (identifier "param_2") () ")"))))) (compound_statement "{\n  undefined2 uVar1;\n  short sVar2;\n  code *pcVar3;\n  ssize_t sVar4;\n  int *piVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined *puVar10;\n  undefined4 *puVar11;\n  void *pvVar12;\n  char *pcVar13;\n  int *piVar14;\n  undefined1 *puVar15;\n  uint uVar16;\n  undefined4 *puVar17;\n  undefined4 extraout_ECX;\n  undefined4 uVar18;\n  undefined4 *extraout_EDX;\n  undefined1 *puVar19;\n  undefined4 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  uint unaff_EBP;\n  int *piVar23;\n  undefined *unaff_EDI;\n  int in_GS_OFFSET;\n  bool bVar24;\n  byte bVar25;\n  undefined1 auStack_2c [12];\n  undefined *puStack_20;\n  undefined4 uStack_14;\n  undefined4 uStack_10;\n  \n  bVar25 = 0;\n  uStack_10 = 0x30000;\n  uStack_14 = 0x1b6f9;\n  puVar22 = auStack_2c;\n  puVar15 = auStack_2c;\n  puVar17 = (undefined4 *)auStack_2c;\n  puVar19 = auStack_2c;\n  if (param_2 == 0) {\n    return param_1;\n  }\n  *(undefined1 *)(param_2 + 0xdc) = 1;\n  puVar9 = *(undefined4 **)(param_2 + 0x74);\n  if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }\n  puVar17[-1] = "Failed to destroy mutex.\n";\n  puVar17[-2] = 0x1b33;\n  puVar17[-3] = "daemon.c";\n  puVar17[-4] = DAT_00030168;\n  puVar17[-5] = 0x1bb2f;\n  (*DAT_0003016c)();\n  puVar17[-5] = unaff_EBP;\n  puVar17[-6] = unaff_EDI;\n  puVar17[-7] = param_2;\n  puVar17[-8] = 0x30000;\n  puVar17[-9] = 0x1bb39;\n  iVar8 = puVar17[-9];\n  piVar5 = (int *)puVar17[-3];\n  piVar14 = (int *)puVar17[1];\n  puVar17[-0x3b] = 1;\n  puVar17[-0x44] = puVar17[-2];\n  puVar17[-0x3a] = 0;\n  puVar17[-0x43] = puVar17[-1];\n  puVar17[-0x42] = puVar17[2];\n  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  puVar17[-0x3f] = (uint)piVar5 & 2;\n  puVar9 = puVar17 + -0x47;\n  if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }\nLAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;\nLAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }\n                    \n  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;\n  FUN_00025ce0();\n  while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }\n  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;\n  iVar7 = FUN_0001e440();\n  *(int *)((int)puVar9 + 0x10) = iVar7;\n  if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }\n  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;\n  piVar5 = __errno_location();\n  *(int *)((int)puVar9 + -0x10) = *piVar5;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;\n  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n  *(char **)((int)puVar9 + -8) = pcVar13;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;\n  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;\n  FUN_0001cf70();\nLAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }\n  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;\n  free(*(void **)((int)puVar9 + -0x10));\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;\n  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n  if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }\n  if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }\n  goto LAB_0001bf6b;\nLAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;\n  (*pcVar3)();\n  puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n  do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);\n  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;\n  piVar14 = (int *)puVar11[0x22];\n  if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }\n  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;\n  *(undefined4 *)(puVar15 + -8) = 0x19b9;\n  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n  puVar9 = (undefined4 *)(puVar15 + -0x10);\n  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;\n  (*pcVar3)();\nLAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n  *(undefined4 *)((int)puVar9 + -8) = 0x193c;\n  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n  puVar17 = (undefined4 *)((int)puVar9 + -0x10);\n  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;\n  (*pcVar3)();\nLAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;\n  puVar17[-2] = 0x190e;\n  puVar17[-3] = iVar8 + 0xb1ff;\n  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);\n  pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n  puVar17[-5] = 0x1cd68;\n  (*pcVar3)();\n  puVar17[-5] = &UNK_000144c7 + iVar8;\n  puVar17[-6] = 0x1cd76;\n  puVar17[-9] = puVar17 + 3;\n  puVar17[-10] = puVar17[2];\n  puVar17[-0xb] = puVar17[1];\n  puVar17[-0xc] = *puVar17;\n  puVar17[-0xd] = puVar17[-1];\n  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);\n  puVar17[-0xf] = puVar17[-3];\n  puVar17[-0x10] = 0x1cda6;\n  puVar17 = (undefined4 *)MHD_start_daemon_va();\n  return puVar17;\n}" ({ "{") (declaration "undefined2 uVar1;" (type_identifier "undefined2") (identifier "uVar1") (; ";")) (declaration "short sVar2;" (sized_type_specifier "short" (short "short")) (identifier "sVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "ssize_t sVar4;" (primitive_type "ssize_t") (identifier "sVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "void *pvVar12;" (primitive_type "void") (pointer_declarator "*pvVar12" (* "*") (identifier "pvVar12")) (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "undefined4 *extraout_EDX;" (type_identifier "undefined4") (pointer_declarator "*extraout_EDX" (* "*") (identifier "extraout_EDX")) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined4 *puVar20;" (type_identifier "undefined4") (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 "uint unaff_EBP;" (type_identifier "uint") (identifier "unaff_EBP") (; ";")) (declaration "int *piVar23;" (primitive_type "int") (pointer_declarator "*piVar23" (* "*") (identifier "piVar23")) (; ";")) (declaration "undefined *unaff_EDI;" (type_identifier "undefined") (pointer_declarator "*unaff_EDI" (* "*") (identifier "unaff_EDI")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "byte bVar25;" (type_identifier "byte") (identifier "bVar25") (; ";")) (declaration "undefined1 auStack_2c [12];" (type_identifier "undefined1") (array_declarator "auStack_2c [12]" (identifier "auStack_2c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined *puStack_20;" (type_identifier "undefined") (pointer_declarator "*puStack_20" (* "*") (identifier "puStack_20")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (declaration "undefined4 uStack_10;" (type_identifier "undefined4") (identifier "uStack_10") (; ";")) (expression_statement "bVar25 = 0;" (assignment_expression "bVar25 = 0" (identifier "bVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_10 = 0x30000;" (assignment_expression "uStack_10 = 0x30000" (identifier "uStack_10") (= "=") (number_literal "0x30000")) (; ";")) (expression_statement "uStack_14 = 0x1b6f9;" (assignment_expression "uStack_14 = 0x1b6f9" (identifier "uStack_14") (= "=") (number_literal "0x1b6f9")) (; ";")) (expression_statement "puVar22 = auStack_2c;" (assignment_expression "puVar22 = auStack_2c" (identifier "puVar22") (= "=") (identifier "auStack_2c")) (; ";")) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" (identifier "puVar15") (= "=") (identifier "auStack_2c")) (; ";")) (expression_statement "puVar17 = (undefined4 *)auStack_2c;" (assignment_expression "puVar17 = (undefined4 *)auStack_2c" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)auStack_2c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_2c"))) (; ";")) (expression_statement "puVar19 = auStack_2c;" (assignment_expression "puVar19 = auStack_2c" (identifier "puVar19") (= "=") (identifier "auStack_2c")) (; ";")) (if_statement "if (param_2 == 0) {\n    return param_1;\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return param_1;\n  }" ({ "{") (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_2 + 0xdc) = 1;" (assignment_expression "*(undefined1 *)(param_2 + 0xdc) = 1" (pointer_expression "*(undefined1 *)(param_2 + 0xdc)" (* "*") (cast_expression "(undefined1 *)(param_2 + 0xdc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xdc)" (( "(") (binary_expression "param_2 + 0xdc" (identifier "param_2") (+ "+") (number_literal "0xdc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar9 = *(undefined4 **)(param_2 + 0x74);" (assignment_expression "puVar9 = *(undefined4 **)(param_2 + 0x74)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(param_2 + 0x74)" (* "*") (cast_expression "(undefined4 **)(param_2 + 0x74)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x74)" (( "(") (binary_expression "param_2 + 0x74" (identifier "param_2") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (if_statement "if (*(char *)(param_2 + 0xdd) == '\0') {\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }\n  else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" (if "if") (parenthesized_expression "(*(char *)(param_2 + 0xdd) == '\0')" (( "(") (binary_expression "*(char *)(param_2 + 0xdd) == '\0'" (pointer_expression "*(char *)(param_2 + 0xdd)" (* "*") (cast_expression "(char *)(param_2 + 0xdd)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xdd)" (( "(") (binary_expression "param_2 + 0xdd" (identifier "param_2") (+ "+") (number_literal "0xdd")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    unaff_EDI = *(undefined **)(param_2 + 200);\n    puStack_20 = unaff_EDI;\n    puVar15 = auStack_2c;\n    if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }\n    if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }\n    iVar8 = *(int *)(param_2 + 0x74);\n    if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }\n    *(int *)((int)puVar17 + -0x10) = iVar8;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;\n    free(*(void **)((int)puVar17 + -0x10));\nLAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }\n    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;\n    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;\n    iVar8 = close(*(int *)((int)puVar17 + -0x10));\n    if (iVar8 == 0) goto LAB_0001b84b;\n    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001b84b;\nLAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";\n    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;\n    *(char **)((int)puVar17 + -0xc) = "daemon.c";\n    puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;\n    (*DAT_0003016c)();\nLAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";\n    *(undefined4 *)(puVar15 + -8) = 0x1af7;\n    *(char **)(puVar15 + -0xc) = "daemon.c";\n    puVar22 = puVar15 + -0x10;\n    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;\n    (*DAT_0003016c)();\nLAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";\n    *(undefined4 *)(puVar22 + -8) = 0x1b2f;\n    *(char **)(puVar22 + -0xc) = "daemon.c";\n    puVar17 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;\n    (*DAT_0003016c)();\n  }" ({ "{") (expression_statement "unaff_EDI = *(undefined **)(param_2 + 200);" (assignment_expression "unaff_EDI = *(undefined **)(param_2 + 200)" (identifier "unaff_EDI") (= "=") (pointer_expression "*(undefined **)(param_2 + 200)" (* "*") (cast_expression "(undefined **)(param_2 + 200)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 200)" (( "(") (binary_expression "param_2 + 200" (identifier "param_2") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (expression_statement "puStack_20 = unaff_EDI;" (assignment_expression "puStack_20 = unaff_EDI" (identifier "puStack_20") (= "=") (identifier "unaff_EDI")) (; ";")) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" (identifier "puVar15") (= "=") (identifier "auStack_2c")) (; ";")) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }" (if "if") (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );\n    }" ({ "{") (do_statement "do {\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      } while( true );" (do "do") (compound_statement "{\n        puVar22 = puVar15;\n        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }\n        if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }\n        puVar17 = (undefined4 *)puVar22;\n        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }\n        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;\n        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n        if (iVar8 == 0) goto LAB_0001b81d;\n        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";\n        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;\n        *(char **)((int)puVar17 + -0xc) = "daemon.c";\n        puVar15 = (undefined1 *)((int)puVar17 + -0x10);\n        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;\n        (*DAT_0003016c)();\n      }" ({ "{") (expression_statement "puVar22 = puVar15;" (assignment_expression "puVar22 = puVar15" (identifier "puVar22") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }\n        else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 0xf4) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0xf4) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf4) & 8)" (( "(") (binary_expression "*(byte *)(param_2 + 0xf4) & 8" (pointer_expression "*(byte *)(param_2 + 0xf4)" (* "*") (cast_expression "(byte *)(param_2 + 0xf4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xf4)" (( "(") (binary_expression "param_2 + 0xf4" (identifier "param_2") (+ "+") (number_literal "0xf4")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;\n          FUN_00017f40();\n        }" ({ "{") (labeled_statement "LAB_0001ba78:\n          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;" (statement_identifier "LAB_0001ba78") (: ":") (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1ba7f;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1ba7f" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1ba7f")) (; ";"))) (expression_statement "FUN_00017f40();" (call_expression "FUN_00017f40()" (identifier "FUN_00017f40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" (else "else") (compound_statement "{\n          puVar10 = *(undefined **)(param_2 + 0xd8);\n          if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }\nLAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;\n          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);\n          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;\n          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));\n          puVar22 = puVar15;\n          if (iVar8 != 0) goto LAB_0001bad2;\n        }" ({ "{") (expression_statement "puVar10 = *(undefined **)(param_2 + 0xd8);" (assignment_expression "puVar10 = *(undefined **)(param_2 + 0xd8)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined **)(param_2 + 0xd8)" (* "*") (cast_expression "(undefined **)(param_2 + 0xd8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0xd8)" (( "(") (binary_expression "param_2 + 0xd8" (identifier "param_2") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (if_statement "if (puVar10 == (undefined *)0xffffffff) {\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }\n          else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(puVar10 == (undefined *)0xffffffff)" (( "(") (binary_expression "puVar10 == (undefined *)0xffffffff" (identifier "puVar10") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }\n          }" ({ "{") (if_statement "if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }" (if "if") (parenthesized_expression "((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0))" (( "(") (binary_expression "(*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)" (parenthesized_expression "(*(int *)(puVar15 + 0xc) != -1)" (( "(") (binary_expression "*(int *)(puVar15 + 0xc) != -1" (pointer_expression "*(int *)(puVar15 + 0xc)" (* "*") (cast_expression "(int *)(puVar15 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_2 + 0x70) == 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x70) == 0" (pointer_expression "*(int *)(param_2 + 0x70)" (* "*") (cast_expression "(int *)(param_2 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x70)" (( "(") (binary_expression "param_2 + 0x70" (identifier "param_2") (+ "+") (number_literal "0x70")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar15 + -0xc) = 2;\n              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);\n              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;\n              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 2;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 2" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0xc)" (( "(") (binary_expression "puVar15 + 0xc" (identifier "puVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba0c" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ba0c")) (; ";")) (expression_statement "shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));" (call_expression "shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" (identifier "shutdown") (argument_list "(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" (else "else") (compound_statement "{\nLAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;\n            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;\n            *(undefined **)(puVar15 + -0x10) = puVar10;\n            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;\n            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));\n            if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }\n          }" ({ "{") (labeled_statement "LAB_0001ba20:\n            *(undefined4 *)(puVar15 + -8) = 8;" (statement_identifier "LAB_0001ba20") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -8) = 8;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 8" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "8")) (; ";"))) (expression_statement "*(undefined **)(puVar15 + -0xc) = &DAT_000281c0;" (assignment_expression "*(undefined **)(puVar15 + -0xc) = &DAT_000281c0" (pointer_expression "*(undefined **)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_000281c0" (& "&") (identifier "DAT_000281c0"))) (; ";")) (expression_statement "*(undefined **)(puVar15 + -0x10) = puVar10;" (assignment_expression "*(undefined **)(puVar15 + -0x10) = puVar10" (pointer_expression "*(undefined **)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined **)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba32;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba32" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ba32")) (; ";")) (expression_statement "sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8));" (assignment_expression "sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" (identifier "sVar4") (= "=") (call_expression "write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" (identifier "write") (argument_list "(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),\n                          *(size_t *)(puVar15 + -8))" (( "(") (pointer_expression "*(int *)(puVar15 + -0x10)" (* "*") (cast_expression "(int *)(puVar15 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar15 + -0xc)" (* "*") (cast_expression "(void **)(puVar15 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar15 + -8)" (* "*") (cast_expression "(size_t *)(puVar15 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar4 < 1) {\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" (if "if") (parenthesized_expression "(sVar4 < 1)" (( "(") (binary_expression "sVar4 < 1" (identifier "sVar4") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar15 + -4) = 0x1ba42;\n              piVar5 = __errno_location();\n              if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar15 + -4) = 0x1ba42;" (assignment_expression "*(undefined4 *)(puVar15 + -4) = 0x1ba42" (pointer_expression "*(undefined4 *)(puVar15 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1ba42")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 != 0xb) {\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" (if "if") (parenthesized_expression "(*piVar5 != 0xb)" (( "(") (binary_expression "*piVar5 != 0xb" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0xb")) () ")")) (compound_statement "{\n                *(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";\n                *(undefined4 *)(puVar15 + -8) = 0x1ae5;\n                *(char **)(puVar15 + -0xc) = "daemon.c";\n                puVar22 = puVar15 + -0x10;\n                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;\n                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;\n                (*DAT_0003016c)();\nLAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;\n                goto LAB_0001ba78;\n              }" ({ "{") (expression_statement "*(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n";" (assignment_expression "*(char **)(puVar15 + -4) =\n                     "Failed to signal shutdown via inter-thread communication channel.\n"" (pointer_expression "*(char **)(puVar15 + -4)" (* "*") (cast_expression "(char **)(puVar15 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to signal shutdown via inter-thread communication channel.\n"" (" """) (string_content "Failed to signal shutdown via inter-thread communication channel.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x1ae5;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x1ae5" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1ae5")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar15 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" (identifier "puVar22") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1ba6a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ba6a")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001ba70:\n                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;" (statement_identifier "LAB_0001ba70") (: ":") (expression_statement "*(undefined4 *)(puVar22 + 0xc) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar22 + 0xc) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar22 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar22 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 0xc)" (( "(") (binary_expression "puVar22 + 0xc" (identifier "puVar22") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";"))) (goto_statement "goto LAB_0001ba78;" (goto "goto") (statement_identifier "LAB_0001ba78") (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_0001b8f8:\n          *(undefined4 *)(puVar15 + -0xc) = 0;" (statement_identifier "LAB_0001b8f8") (: ":") (expression_statement "*(undefined4 *)(puVar15 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar15 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar15 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x8c)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x8c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x8c)" (( "(") (binary_expression "param_2 + 0x8c" (identifier "param_2") (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1b908;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1b908" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b908")) (; ";")) (expression_statement "iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));" (assignment_expression "iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" (identifier "iVar8") (= "=") (call_expression "pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" (identifier "pthread_join") (argument_list "(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc))" (( "(") (pointer_expression "*(pthread_t *)(puVar15 + -0x10)" (* "*") (cast_expression "(pthread_t *)(puVar15 + -0x10)" (( "(") (type_descriptor "pthread_t *" (type_identifier "pthread_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void ***)(puVar15 + -0xc)" (* "*") (cast_expression "(void ***)(puVar15 + -0xc)" (( "(") (type_descriptor "void ***" (primitive_type "void") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar22 = puVar15;" (assignment_expression "puVar22 = puVar15" (identifier "puVar22") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (iVar8 != 0) goto LAB_0001bad2;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bad2;" (goto "goto") (statement_identifier "LAB_0001bad2") (; ";"))) (} "}")))) (if_statement "if (*(int *)(param_2 + 0xd8) != -1) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0xd8) != -1)" (( "(") (binary_expression "*(int *)(param_2 + 0xd8) != -1" (pointer_expression "*(int *)(param_2 + 0xd8)" (* "*") (cast_expression "(int *)(param_2 + 0xd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd8)" (( "(") (binary_expression "param_2 + 0xd8" (identifier "param_2") (+ "+") (number_literal "0xd8")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }\n        }" ({ "{") (expression_statement "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);" (assignment_expression "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8)" (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")) () ")")))) (= "=") (pointer_expression "*(int *)(param_2 + 0xd8)" (* "*") (cast_expression "(int *)(param_2 + 0xd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd8)" (( "(") (binary_expression "param_2 + 0xd8" (identifier "param_2") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b927;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b927" (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 "0x1b927")) (; ";")) (expression_statement "iVar8 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar8 = close(*(int *)(puVar22 + -0x10))" (identifier "iVar8") (= "=") (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")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar22 + -4) = 0x1b933;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1b933;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1b933" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b933")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }" (if "if") (parenthesized_expression "(*piVar5 == 9)" (( "(") (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "9")) () ")")) (compound_statement "{\n              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b02;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;\n              (*DAT_0003016c)();\n              goto LAB_0001bab3;\n            }" ({ "{") (expression_statement "*(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Failed to destroy ITC.\n"" (pointer_expression "*(char **)(puVar22 + -4)" (* "*") (cast_expression "(char **)(puVar22 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to destroy ITC.\n"" (" """) (string_content "Failed to destroy ITC.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b02;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b02" (pointer_expression "*(undefined4 *)(puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1b02")) (; ";")) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" (* "*") (cast_expression "(char **)(puVar22 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1bab3;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1bab3" (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 "0x1bab3")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001bab3;" (goto "goto") (statement_identifier "LAB_0001bab3") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "puVar17 = (undefined4 *)puVar22;" (assignment_expression "puVar17 = (undefined4 *)puVar22" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)puVar22" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar22"))) (; ";")) (if_statement "if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1))" (( "(") (binary_expression "((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)" (parenthesized_expression "((*(byte *)(param_2 + 0xf5) & 2) != 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0xf5) & 2) != 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf5) & 2)" (( "(") (binary_expression "*(byte *)(param_2 + 0xf5) & 2" (pointer_expression "*(byte *)(param_2 + 0xf5)" (* "*") (cast_expression "(byte *)(param_2 + 0xf5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xf5)" (( "(") (binary_expression "param_2 + 0xf5" (identifier "param_2") (+ "+") (number_literal "0xf5")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_2 + 0xd0) != -1)" (( "(") (binary_expression "*(int *)(param_2 + 0xd0) != -1" (pointer_expression "*(int *)(param_2 + 0xd0)" (* "*") (cast_expression "(int *)(param_2 + 0xd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd0)" (( "(") (binary_expression "param_2 + 0xd0" (identifier "param_2") (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);\n          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;\n          iVar8 = close(*(int *)(puVar22 + -0x10));\n          if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }\n        }" ({ "{") (expression_statement "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);" (assignment_expression "*(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0)" (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")) () ")")))) (= "=") (pointer_expression "*(int *)(param_2 + 0xd0)" (* "*") (cast_expression "(int *)(param_2 + 0xd0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xd0)" (( "(") (binary_expression "param_2 + 0xd0" (identifier "param_2") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b959;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b959" (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 "0x1b959")) (; ";")) (expression_statement "iVar8 = close(*(int *)(puVar22 + -0x10));" (assignment_expression "iVar8 = close(*(int *)(puVar22 + -0x10))" (identifier "iVar8") (= "=") (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")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar22 + -4) = 0x1b965;\n            piVar5 = __errno_location();\n            if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar22 + -4) = 0x1b965;" (assignment_expression "*(undefined4 *)(puVar22 + -4) = 0x1b965" (pointer_expression "*(undefined4 *)(puVar22 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b965")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 == 9) {\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }" (if "if") (parenthesized_expression "(*piVar5 == 9)" (( "(") (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "9")) () ")")) (compound_statement "{\n              *(char **)(puVar22 + -4) = "Close socket failed.\n";\n              *(undefined4 *)(puVar22 + -8) = 0x1b07;\n              *(char **)(puVar22 + -0xc) = "daemon.c";\n              puVar17 = (undefined4 *)(puVar22 + -0x10);\n              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;\n              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;\n              (*DAT_0003016c)();\n            }" ({ "{") (expression_statement "*(char **)(puVar22 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)(puVar22 + -4)" (* "*") (cast_expression "(char **)(puVar22 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Close socket failed.\n"" (" """) (string_content "Close socket failed.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b07;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b07" (pointer_expression "*(undefined4 *)(puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1b07")) (; ";")) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" (* "*") (cast_expression "(char **)(puVar22 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1b989;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1b989" (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 "0x1b989")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0xac;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0xac" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_2 + 0xac" (identifier "param_2") (+ "+") (number_literal "0xac"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b99f")) (; ";")) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (identifier "iVar8") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_0001b81d;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b81d;" (goto "goto") (statement_identifier "LAB_0001b81d") (; ";"))) (expression_statement "*(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)((int)puVar17 + -4)" (* "*") (cast_expression "(char **)((int)puVar17 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -4)" (( "(") (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to destroy mutex.\n"" (" """) (string_content "Failed to destroy mutex.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -8) = 0x1b10;" (assignment_expression "*(undefined4 *)((int)puVar17 + -8) = 0x1b10" (pointer_expression "*(undefined4 *)((int)puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -8)" (( "(") (binary_expression "(int)puVar17 + -8" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1b10")) (; ";")) (expression_statement "*(char **)((int)puVar17 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar17 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar17 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0xc)" (( "(") (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar15 = (undefined1 *)((int)puVar17 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar17 + -0x10)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b9c9")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x88) == 0) {\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }\n    else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x88) == 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x88) == 0" (pointer_expression "*(int *)(param_2 + 0x88)" (* "*") (cast_expression "(int *)(param_2 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x88)" (( "(") (binary_expression "param_2 + 0x88" (identifier "param_2") (+ "+") (number_literal "0x88")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      bVar24 = unaff_EDI == (undefined *)0xffffffff;\n      unaff_EDI = (undefined *)0x0;\n      if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }\nLAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;\n      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;\n      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));\n      uVar6 = *(uint *)(param_2 + 0x88);\n    }" ({ "{") (expression_statement "bVar24 = unaff_EDI == (undefined *)0xffffffff;" (assignment_expression "bVar24 = unaff_EDI == (undefined *)0xffffffff" (identifier "bVar24") (= "=") (binary_expression "unaff_EDI == (undefined *)0xffffffff" (identifier "unaff_EDI") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff")))) (; ";")) (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" (identifier "unaff_EDI") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (bVar24) {\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (compound_statement "{\n        unaff_EDI = (undefined *)0x0;\n        goto LAB_0001b8ba;\n      }" ({ "{") (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" (identifier "unaff_EDI") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0001b8ba;" (goto "goto") (statement_identifier "LAB_0001b8ba") (; ";")) (} "}"))) (labeled_statement "LAB_0001b7cf:\n      *(undefined4 *)((int)puVar17 + -0xc) = 2;" (statement_identifier "LAB_0001b7cf") (: ":") (expression_statement "*(undefined4 *)((int)puVar17 + -0xc) = 2;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0xc) = 2" (pointer_expression "*(undefined4 *)((int)puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0xc)" (( "(") (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "2")) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar17 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + 0xc)" (( "(") (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b7dd")) (; ";")) (expression_statement "shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));" (call_expression "shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc))" (identifier "shutdown") (argument_list "(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc))" (( "(") (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar17 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0xc)" (( "(") (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar6 = *(uint *)(param_2 + 0x88);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x88)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_2 + 0x88)" (* "*") (cast_expression "(uint *)(param_2 + 0x88)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x88)" (( "(") (binary_expression "param_2 + 0x88" (identifier "param_2") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" (else "else") (compound_statement "{\nLAB_0001b747:\n      unaff_EBP = 0;\n      unaff_EDI = &DAT_000281c0;\n      while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }\n      puVar19 = &stack0xffffffc4;\n      uVar6 = (*DAT_0003016c)();\nLAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;\n      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;\n    }" ({ "{") (labeled_statement "LAB_0001b747:\n      unaff_EBP = 0;" (statement_identifier "LAB_0001b747") (: ":") (expression_statement "unaff_EBP = 0;" (assignment_expression "unaff_EBP = 0" (identifier "unaff_EBP") (= "=") (number_literal "0")) (; ";"))) (expression_statement "unaff_EDI = &DAT_000281c0;" (assignment_expression "unaff_EDI = &DAT_000281c0" (identifier "unaff_EDI") (= "=") (pointer_expression "&DAT_000281c0" (& "&") (identifier "DAT_000281c0"))) (; ";")) (while_statement "while( true ) {\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;\n        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);\n        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;\n        uVar6 = *(uint *)(param_2 + 0x88);\n        unaff_EBP = unaff_EBP + 1;\n        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;\n        puVar9 = *(undefined4 **)(param_2 + 0x74);\n      }" ({ "{") (expression_statement "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;" (assignment_expression "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1" (pointer_expression "*(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37)" (* "*") (cast_expression "(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar9 + unaff_EBP * 0x4c + 0x37)" (( "(") (binary_expression "puVar9 + unaff_EBP * 0x4c + 0x37" (binary_expression "puVar9 + unaff_EBP * 0x4c" (identifier "puVar9") (+ "+") (binary_expression "unaff_EBP * 0x4c" (identifier "unaff_EBP") (* "*") (number_literal "0x4c"))) (+ "+") (number_literal "0x37")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);" (assignment_expression "iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" (* "*") (cast_expression "(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130)" (( "(") (binary_expression "*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130" (binary_expression "*(int *)(param_2 + 0x74) + 0xd8" (pointer_expression "*(int *)(param_2 + 0x74)" (* "*") (cast_expression "(int *)(param_2 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x74)" (( "(") (binary_expression "param_2 + 0x74" (identifier "param_2") (+ "+") (number_literal "0x74")) () ")")))) (+ "+") (number_literal "0xd8")) (+ "+") (binary_expression "unaff_EBP * 0x130" (identifier "unaff_EBP") (* "*") (number_literal "0x130"))) () ")"))))) (; ";")) (if_statement "if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;" (if "if") (parenthesized_expression "(((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb))" (( "(") (binary_expression "((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&\n           (piVar5 = __errno_location(), *piVar5 != 0xb)" (parenthesized_expression "((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1))" (( "(") (binary_expression "(iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)" (parenthesized_expression "(iVar8 != -1)" (( "(") (binary_expression "iVar8 != -1" (identifier "iVar8") (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)" (( "(") (comma_expression "sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1" (assignment_expression "sVar4 = write(iVar8,&DAT_000281c0,8)" (identifier "sVar4") (= "=") (call_expression "write(iVar8,&DAT_000281c0,8)" (identifier "write") (argument_list "(iVar8,&DAT_000281c0,8)" (( "(") (identifier "iVar8") (, ",") (pointer_expression "&DAT_000281c0" (& "&") (identifier "DAT_000281c0")) (, ",") (number_literal "8") () ")")))) (, ",") (binary_expression "sVar4 < 1" (identifier "sVar4") (< "<") (number_literal "1"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar5 = __errno_location(), *piVar5 != 0xb)" (( "(") (comma_expression "piVar5 = __errno_location(), *piVar5 != 0xb" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "*piVar5 != 0xb" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "0xb"))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar6 = *(uint *)(param_2 + 0x88);" (assignment_expression "uVar6 = *(uint *)(param_2 + 0x88)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(param_2 + 0x88)" (* "*") (cast_expression "(uint *)(param_2 + 0x88)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x88)" (( "(") (binary_expression "param_2 + 0x88" (identifier "param_2") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "unaff_EBP = unaff_EBP + 1;" (assignment_expression "unaff_EBP = unaff_EBP + 1" (identifier "unaff_EBP") (= "=") (binary_expression "unaff_EBP + 1" (identifier "unaff_EBP") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;" (if "if") (parenthesized_expression "(uVar6 <= unaff_EBP)" (( "(") (binary_expression "uVar6 <= unaff_EBP" (identifier "uVar6") (<= "<=") (identifier "unaff_EBP")) () ")")) (goto_statement "goto LAB_0001b7c8;" (goto "goto") (statement_identifier "LAB_0001b7c8") (; ";"))) (expression_statement "puVar9 = *(undefined4 **)(param_2 + 0x74);" (assignment_expression "puVar9 = *(undefined4 **)(param_2 + 0x74)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(param_2 + 0x74)" (* "*") (cast_expression "(undefined4 **)(param_2 + 0x74)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x74)" (( "(") (binary_expression "param_2 + 0x74" (identifier "param_2") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar19 = &stack0xffffffc4;" (assignment_expression "puVar19 = &stack0xffffffc4" (identifier "puVar19") (= "=") (pointer_expression "&stack0xffffffc4" (& "&") (identifier "stack0xffffffc4"))) (; ";")) (expression_statement "uVar6 = (*DAT_0003016c)();" (assignment_expression "uVar6 = (*DAT_0003016c)()" (identifier "uVar6") (= "=") (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_0001b7c8:\n      puVar17 = (undefined4 *)puVar19;" (statement_identifier "LAB_0001b7c8") (: ":") (expression_statement "puVar17 = (undefined4 *)puVar19;" (assignment_expression "puVar17 = (undefined4 *)puVar19" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)puVar19" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar19"))) (; ";"))) (if_statement "if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;" (if "if") (parenthesized_expression "(*(int *)(puVar19 + 0xc) != -1)" (( "(") (binary_expression "*(int *)(puVar19 + 0xc) != -1" (pointer_expression "*(int *)(puVar19 + 0xc)" (* "*") (cast_expression "(int *)(puVar19 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + 0xc)" (( "(") (binary_expression "puVar19 + 0xc" (identifier "puVar19") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001b7cf;" (goto "goto") (statement_identifier "LAB_0001b7cf") (; ";"))) (} "}")))) (expression_statement "iVar8 = *(int *)(param_2 + 0x74);" (assignment_expression "iVar8 = *(int *)(param_2 + 0x74)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_2 + 0x74)" (* "*") (cast_expression "(int *)(param_2 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x74)" (( "(") (binary_expression "param_2 + 0x74" (identifier "param_2") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (if_statement "if (uVar6 != 0) {\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      unaff_EDI = (undefined *)0x0;\n      do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));\n    }" ({ "{") (expression_statement "unaff_EDI = (undefined *)0x0;" (assignment_expression "unaff_EDI = (undefined *)0x0" (identifier "unaff_EDI") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));" (do "do") (compound_statement "{\n        iVar7 = (int)unaff_EDI * 0x130;\n        unaff_EDI = unaff_EDI + 1;\n        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;\n        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;\n        MHD_stop_daemon();\n        iVar8 = *(int *)(param_2 + 0x74);\n      }" ({ "{") (expression_statement "iVar7 = (int)unaff_EDI * 0x130;" (assignment_expression "iVar7 = (int)unaff_EDI * 0x130" (identifier "iVar7") (= "=") (binary_expression "(int)unaff_EDI * 0x130" (cast_expression "(int)unaff_EDI" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EDI")) (* "*") (number_literal "0x130"))) (; ";")) (expression_statement "unaff_EDI = unaff_EDI + 1;" (assignment_expression "unaff_EDI = unaff_EDI + 1" (identifier "unaff_EDI") (= "=") (binary_expression "unaff_EDI + 1" (identifier "unaff_EDI") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = iVar8 + iVar7" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "iVar8 + iVar7" (identifier "iVar8") (+ "+") (identifier "iVar7"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b803" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b803")) (; ";")) (expression_statement "MHD_stop_daemon();" (call_expression "MHD_stop_daemon()" (identifier "MHD_stop_daemon") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar8 = *(int *)(param_2 + 0x74);" (assignment_expression "iVar8 = *(int *)(param_2 + 0x74)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_2 + 0x74)" (* "*") (cast_expression "(int *)(param_2 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x74)" (( "(") (binary_expression "param_2 + 0x74" (identifier "param_2") (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_EDI < *(undefined **)(param_2 + 0x88))" (( "(") (binary_expression "unaff_EDI < *(undefined **)(param_2 + 0x88)" (identifier "unaff_EDI") (< "<") (pointer_expression "*(undefined **)(param_2 + 0x88)" (* "*") (cast_expression "(undefined **)(param_2 + 0x88)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x88)" (( "(") (binary_expression "param_2 + 0x88" (identifier "param_2") (+ "+") (number_literal "0x88")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "*(int *)((int)puVar17 + -0x10) = iVar8;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = iVar8" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b81a")) (; ";")) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar17 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (labeled_statement "LAB_0001b81d:\n    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }" (statement_identifier "LAB_0001b81d") (: ":") (if_statement "if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {\n      return *(undefined4 **)(param_2 + 0x70);\n    }" (if "if") (parenthesized_expression "(*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0)" (( "(") (binary_expression "*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(param_2 + 0x70)" (* "*") (cast_expression "(undefined4 **)(param_2 + 0x70)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x70)" (( "(") (binary_expression "param_2 + 0x70" (identifier "param_2") (+ "+") (number_literal "0x70")) () ")")))) (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return *(undefined4 **)(param_2 + 0x70);\n    }" ({ "{") (return_statement "return *(undefined4 **)(param_2 + 0x70);" (return "return") (pointer_expression "*(undefined4 **)(param_2 + 0x70)" (* "*") (cast_expression "(undefined4 **)(param_2 + 0x70)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x70)" (( "(") (binary_expression "param_2 + 0x70" (identifier "param_2") (+ "+") (number_literal "0x70")) () ")")))) (; ";")) (} "}")))) (if_statement "if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;" (if "if") (parenthesized_expression "(*(int *)((int)puVar17 + 0xc) == -1)" (( "(") (binary_expression "*(int *)((int)puVar17 + 0xc) == -1" (pointer_expression "*(int *)((int)puVar17 + 0xc)" (* "*") (cast_expression "(int *)((int)puVar17 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + 0xc)" (( "(") (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001b84b;" (goto "goto") (statement_identifier "LAB_0001b84b") (; ";"))) (expression_statement "*(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);" (assignment_expression "*(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc)" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(int *)((int)puVar17 + 0xc)" (* "*") (cast_expression "(int *)((int)puVar17 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + 0xc)" (( "(") (binary_expression "(int)puVar17 + 0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b836" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b836")) (; ";")) (expression_statement "iVar8 = close(*(int *)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = close(*(int *)((int)puVar17 + -0x10))" (identifier "iVar8") (= "=") (call_expression "close(*(int *)((int)puVar17 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) goto LAB_0001b84b;" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b84b;" (goto "goto") (statement_identifier "LAB_0001b84b") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar17 + -4) = 0x1b842;" (assignment_expression "*(undefined4 *)((int)puVar17 + -4) = 0x1b842" (pointer_expression "*(undefined4 *)((int)puVar17 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -4)" (( "(") (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1b842")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001b84b;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001b84b;" (goto "goto") (statement_identifier "LAB_0001b84b") (; ";"))) (labeled_statement "LAB_0001bab3:\n    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";" (statement_identifier "LAB_0001bab3") (: ":") (expression_statement "*(char **)((int)puVar17 + -4) = "Close socket failed.\n";" (assignment_expression "*(char **)((int)puVar17 + -4) = "Close socket failed.\n"" (pointer_expression "*(char **)((int)puVar17 + -4)" (* "*") (cast_expression "(char **)((int)puVar17 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -4)" (( "(") (binary_expression "(int)puVar17 + -4" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Close socket failed.\n"" (" """) (string_content "Close socket failed.") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar17 + -8) = 0x1b19;" (assignment_expression "*(undefined4 *)((int)puVar17 + -8) = 0x1b19" (pointer_expression "*(undefined4 *)((int)puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -8)" (( "(") (binary_expression "(int)puVar17 + -8" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1b19")) (; ";")) (expression_statement "*(char **)((int)puVar17 + -0xc) = "daemon.c";" (assignment_expression "*(char **)((int)puVar17 + -0xc) = "daemon.c"" (pointer_expression "*(char **)((int)puVar17 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0xc)" (( "(") (binary_expression "(int)puVar17 + -0xc" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar15 = (undefined1 *)((int)puVar17 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar17 + -0x10)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bad2")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001bad2:\n    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";" (statement_identifier "LAB_0001bad2") (: ":") (expression_statement "*(char **)(puVar15 + -4) = "Failed to join a thread.\n";" (assignment_expression "*(char **)(puVar15 + -4) = "Failed to join a thread.\n"" (pointer_expression "*(char **)(puVar15 + -4)" (* "*") (cast_expression "(char **)(puVar15 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to join a thread.\n"" (" """) (string_content "Failed to join a thread.") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x1af7;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x1af7" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1af7")) (; ";")) (expression_statement "*(char **)(puVar15 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar15 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar15 + -0xc)" (* "*") (cast_expression "(char **)(puVar15 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" (identifier "puVar22") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1baf1;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1baf1" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1baf1")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001baf1:\n    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";" (statement_identifier "LAB_0001baf1") (: ":") (expression_statement "*(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";" (assignment_expression "*(char **)(puVar22 + -4) = "Failed to destroy mutex.\n"" (pointer_expression "*(char **)(puVar22 + -4)" (* "*") (cast_expression "(char **)(puVar22 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to destroy mutex.\n"" (" """) (string_content "Failed to destroy mutex.") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x1b2f;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x1b2f" (pointer_expression "*(undefined4 *)(puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1b2f")) (; ";")) (expression_statement "*(char **)(puVar22 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar22 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar22 + -0xc)" (* "*") (cast_expression "(char **)(puVar22 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar17 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)(puVar22 + -0x10)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168;" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = DAT_00030168" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1bb10;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1bb10" (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 "0x1bb10")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" (else "else") (compound_statement "{\n    if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }\n    unaff_EBP = *(uint *)(param_2 + 0x88);\n    puStack_20 = (undefined *)0xffffffff;\n    if (unaff_EBP != 0) goto LAB_0001b747;\nLAB_0001b8ba:\n    free(puVar9);\n    puVar17 = (undefined4 *)auStack_2c;\n    if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }\nLAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;\n    free(*(void **)((int)puVar17 + -0x10));\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;\n    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    puVar22 = (undefined1 *)puVar17;\n    if (iVar8 != 0) goto LAB_0001baf1;\n    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;\n    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;\n    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));\n    if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }\n  }" ({ "{") (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }" (if "if") (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;\n      puVar10 = *(undefined **)(param_2 + 0xd8);\n      puStack_20 = puVar10;\n      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;\n      puStack_20 = (undefined *)0xffffffff;\n      puVar15 = auStack_2c;\n      goto LAB_0001ba20;\n    }" ({ "{") (if_statement "if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 0xf4) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(param_2 + 0xf4) & 8) == 0" (parenthesized_expression "(*(byte *)(param_2 + 0xf4) & 8)" (( "(") (binary_expression "*(byte *)(param_2 + 0xf4) & 8" (pointer_expression "*(byte *)(param_2 + 0xf4)" (* "*") (cast_expression "(byte *)(param_2 + 0xf4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xf4)" (( "(") (binary_expression "param_2 + 0xf4" (identifier "param_2") (+ "+") (number_literal "0xf4")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001ba70;" (goto "goto") (statement_identifier "LAB_0001ba70") (; ";"))) (expression_statement "puVar10 = *(undefined **)(param_2 + 0xd8);" (assignment_expression "puVar10 = *(undefined **)(param_2 + 0xd8)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined **)(param_2 + 0xd8)" (* "*") (cast_expression "(undefined **)(param_2 + 0xd8)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0xd8)" (( "(") (binary_expression "param_2 + 0xd8" (identifier "param_2") (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (expression_statement "puStack_20 = puVar10;" (assignment_expression "puStack_20 = puVar10" (identifier "puStack_20") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;" (if "if") (parenthesized_expression "(puVar10 == (undefined *)0xffffffff)" (( "(") (binary_expression "puVar10 == (undefined *)0xffffffff" (identifier "puVar10") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_0001b8f8;" (goto "goto") (statement_identifier "LAB_0001b8f8") (; ";"))) (expression_statement "puStack_20 = (undefined *)0xffffffff;" (assignment_expression "puStack_20 = (undefined *)0xffffffff" (identifier "puStack_20") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "puVar15 = auStack_2c;" (assignment_expression "puVar15 = auStack_2c" (identifier "puVar15") (= "=") (identifier "auStack_2c")) (; ";")) (goto_statement "goto LAB_0001ba20;" (goto "goto") (statement_identifier "LAB_0001ba20") (; ";")) (} "}"))) (expression_statement "unaff_EBP = *(uint *)(param_2 + 0x88);" (assignment_expression "unaff_EBP = *(uint *)(param_2 + 0x88)" (identifier "unaff_EBP") (= "=") (pointer_expression "*(uint *)(param_2 + 0x88)" (* "*") (cast_expression "(uint *)(param_2 + 0x88)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x88)" (( "(") (binary_expression "param_2 + 0x88" (identifier "param_2") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "puStack_20 = (undefined *)0xffffffff;" (assignment_expression "puStack_20 = (undefined *)0xffffffff" (identifier "puStack_20") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (unaff_EBP != 0) goto LAB_0001b747;" (if "if") (parenthesized_expression "(unaff_EBP != 0)" (( "(") (binary_expression "unaff_EBP != 0" (identifier "unaff_EBP") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001b747;" (goto "goto") (statement_identifier "LAB_0001b747") (; ";"))) (labeled_statement "LAB_0001b8ba:\n    free(puVar9);" (statement_identifier "LAB_0001b8ba") (: ":") (expression_statement "free(puVar9);" (call_expression "free(puVar9)" (identifier "free") (argument_list "(puVar9)" (( "(") (identifier "puVar9") () ")"))) (; ";"))) (expression_statement "puVar17 = (undefined4 *)auStack_2c;" (assignment_expression "puVar17 = (undefined4 *)auStack_2c" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)auStack_2c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_2c"))) (; ";")) (if_statement "if (*(int *)(param_2 + 0x70) != 0) {\n      return puVar9;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x70) != 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x70) != 0" (pointer_expression "*(int *)(param_2 + 0x70)" (* "*") (cast_expression "(int *)(param_2 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x70)" (( "(") (binary_expression "param_2 + 0x70" (identifier "param_2") (+ "+") (number_literal "0x70")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return puVar9;\n    }" ({ "{") (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}"))) (labeled_statement "LAB_0001b84b:\n    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);" (statement_identifier "LAB_0001b84b") (: ":") (expression_statement "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104)" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0x104)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x104)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x104)" (( "(") (binary_expression "param_2 + 0x104" (identifier "param_2") (+ "+") (number_literal "0x104")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b859" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b859")) (; ";")) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar17 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0x108;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0x108" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_2 + 0x108" (identifier "param_2") (+ "+") (number_literal "0x108"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b867" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b867")) (; ";")) (expression_statement "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (identifier "iVar8") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar22 = (undefined1 *)puVar17;" (assignment_expression "puVar22 = (undefined1 *)puVar17" (identifier "puVar22") (= "=") (cast_expression "(undefined1 *)puVar17" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar17"))) (; ";")) (if_statement "if (iVar8 != 0) goto LAB_0001baf1;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001baf1;" (goto "goto") (statement_identifier "LAB_0001baf1") (; ";"))) (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2 + 0x94;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2 + 0x94" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "param_2 + 0x94" (identifier "param_2") (+ "+") (number_literal "0x94"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b881" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b881")) (; ";")) (expression_statement "puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));" (assignment_expression "puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar17 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar17 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))))) (; ";")) (if_statement "if (puVar9 == (undefined4 *)0x0) {\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }" (if "if") (parenthesized_expression "(puVar9 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(int *)((int)puVar17 + -0x10) = param_2;\n      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;\n      free(*(void **)((int)puVar17 + -0x10));\n      return puVar9;\n    }" ({ "{") (expression_statement "*(int *)((int)puVar17 + -0x10) = param_2;" (assignment_expression "*(int *)((int)puVar17 + -0x10) = param_2" (pointer_expression "*(int *)((int)puVar17 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;" (assignment_expression "*(undefined4 *)((int)puVar17 + -0x14) = 0x1b895" (pointer_expression "*(undefined4 *)((int)puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar17 + -0x14)" (( "(") (binary_expression "(int)puVar17 + -0x14" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1b895")) (; ";")) (expression_statement "free(*(void **)((int)puVar17 + -0x10));" (call_expression "free(*(void **)((int)puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar17 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar17 + -0x10)" (( "(") (binary_expression "(int)puVar17 + -0x10" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (return_statement "return puVar9;" (return "return") (identifier "puVar9") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar17[-1] = "Failed to destroy mutex.\n";" (assignment_expression "puVar17[-1] = "Failed to destroy mutex.\n"" (subscript_expression "puVar17[-1]" (identifier "puVar17") ([ "[") (number_literal "-1") (] "]")) (= "=") (string_literal ""Failed to destroy mutex.\n"" (" """) (string_content "Failed to destroy mutex.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "puVar17[-2] = 0x1b33;" (assignment_expression "puVar17[-2] = 0x1b33" (subscript_expression "puVar17[-2]" (identifier "puVar17") ([ "[") (number_literal "-2") (] "]")) (= "=") (number_literal "0x1b33")) (; ";")) (expression_statement "puVar17[-3] = "daemon.c";" (assignment_expression "puVar17[-3] = "daemon.c"" (subscript_expression "puVar17[-3]" (identifier "puVar17") ([ "[") (number_literal "-3") (] "]")) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar17[-4] = DAT_00030168;" (assignment_expression "puVar17[-4] = DAT_00030168" (subscript_expression "puVar17[-4]" (identifier "puVar17") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "DAT_00030168")) (; ";")) (expression_statement "puVar17[-5] = 0x1bb2f;" (assignment_expression "puVar17[-5] = 0x1bb2f" (subscript_expression "puVar17[-5]" (identifier "puVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x1bb2f")) (; ";")) (expression_statement "(*DAT_0003016c)();" (call_expression "(*DAT_0003016c)()" (parenthesized_expression "(*DAT_0003016c)" (( "(") (pointer_expression "*DAT_0003016c" (* "*") (identifier "DAT_0003016c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar17[-5] = unaff_EBP;" (assignment_expression "puVar17[-5] = unaff_EBP" (subscript_expression "puVar17[-5]" (identifier "puVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "unaff_EBP")) (; ";")) (expression_statement "puVar17[-6] = unaff_EDI;" (assignment_expression "puVar17[-6] = unaff_EDI" (subscript_expression "puVar17[-6]" (identifier "puVar17") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "unaff_EDI")) (; ";")) (expression_statement "puVar17[-7] = param_2;" (assignment_expression "puVar17[-7] = param_2" (subscript_expression "puVar17[-7]" (identifier "puVar17") ([ "[") (number_literal "-7") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "puVar17[-8] = 0x30000;" (assignment_expression "puVar17[-8] = 0x30000" (subscript_expression "puVar17[-8]" (identifier "puVar17") ([ "[") (number_literal "-8") (] "]")) (= "=") (number_literal "0x30000")) (; ";")) (expression_statement "puVar17[-9] = 0x1bb39;" (assignment_expression "puVar17[-9] = 0x1bb39" (subscript_expression "puVar17[-9]" (identifier "puVar17") ([ "[") (number_literal "-9") (] "]")) (= "=") (number_literal "0x1bb39")) (; ";")) (expression_statement "iVar8 = puVar17[-9];" (assignment_expression "iVar8 = puVar17[-9]" (identifier "iVar8") (= "=") (subscript_expression "puVar17[-9]" (identifier "puVar17") ([ "[") (number_literal "-9") (] "]"))) (; ";")) (expression_statement "piVar5 = (int *)puVar17[-3];" (assignment_expression "piVar5 = (int *)puVar17[-3]" (identifier "piVar5") (= "=") (cast_expression "(int *)puVar17[-3]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[-3]" (identifier "puVar17") ([ "[") (number_literal "-3") (] "]")))) (; ";")) (expression_statement "piVar14 = (int *)puVar17[1];" (assignment_expression "piVar14 = (int *)puVar17[1]" (identifier "piVar14") (= "=") (cast_expression "(int *)puVar17[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar17[-0x3b] = 1;" (assignment_expression "puVar17[-0x3b] = 1" (subscript_expression "puVar17[-0x3b]" (identifier "puVar17") ([ "[") (number_literal "-0x3b") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar17[-0x44] = puVar17[-2];" (assignment_expression "puVar17[-0x44] = puVar17[-2]" (subscript_expression "puVar17[-0x44]" (identifier "puVar17") ([ "[") (number_literal "-0x44") (] "]")) (= "=") (subscript_expression "puVar17[-2]" (identifier "puVar17") ([ "[") (number_literal "-2") (] "]"))) (; ";")) (expression_statement "puVar17[-0x3a] = 0;" (assignment_expression "puVar17[-0x3a] = 0" (subscript_expression "puVar17[-0x3a]" (identifier "puVar17") ([ "[") (number_literal "-0x3a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar17[-0x43] = puVar17[-1];" (assignment_expression "puVar17[-0x43] = puVar17[-1]" (subscript_expression "puVar17[-0x43]" (identifier "puVar17") ([ "[") (number_literal "-0x43") (] "]")) (= "=") (subscript_expression "puVar17[-1]" (identifier "puVar17") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar17[-0x42] = puVar17[2];" (assignment_expression "puVar17[-0x42] = puVar17[2]" (subscript_expression "puVar17[-0x42]" (identifier "puVar17") ([ "[") (number_literal "-0x42") (] "]")) (= "=") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14)" (subscript_expression "puVar17[-0xc]" (identifier "puVar17") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (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 "puVar17[-0x3f] = (uint)piVar5 & 2;" (assignment_expression "puVar17[-0x3f] = (uint)piVar5 & 2" (subscript_expression "puVar17[-0x3f]" (identifier "puVar17") ([ "[") (number_literal "-0x3f") (] "]")) (= "=") (binary_expression "(uint)piVar5 & 2" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "2"))) (; ";")) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if (((uint)piVar5 & 2) == 0) {\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(((uint)piVar5 & 2) == 0)" (( "(") (binary_expression "((uint)piVar5 & 2) == 0" (parenthesized_expression "((uint)piVar5 & 2)" (( "(") (binary_expression "(uint)piVar5 & 2" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }\n    puVar9 = puVar17 + -0x47;\n    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }\n  }" ({ "{") (if_statement "if (((uint)piVar5 & 0x8000) != 0) {\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }" (if "if") (parenthesized_expression "(((uint)piVar5 & 0x8000) != 0)" (( "(") (binary_expression "((uint)piVar5 & 0x8000) != 0" (parenthesized_expression "((uint)piVar5 & 0x8000)" (( "(") (binary_expression "(uint)piVar5 & 0x8000" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "0x8000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piVar5 = (int *)((uint)piVar5 | 0x2400);\n    }" ({ "{") (expression_statement "piVar5 = (int *)((uint)piVar5 | 0x2400);" (assignment_expression "piVar5 = (int *)((uint)piVar5 | 0x2400)" (identifier "piVar5") (= "=") (cast_expression "(int *)((uint)piVar5 | 0x2400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar5 | 0x2400)" (( "(") (binary_expression "(uint)piVar5 | 0x2400" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (| "|") (number_literal "0x2400")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }" (if "if") (parenthesized_expression "(((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40))))" (( "(") (binary_expression "((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&\n       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))" (parenthesized_expression "((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240))" (( "(") (binary_expression "(piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)" (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)" (( "(") (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (, ",") (binary_expression "((uint)piVar5 & 0x240) != 0x240" (parenthesized_expression "((uint)piVar5 & 0x240)" (( "(") (binary_expression "(uint)piVar5 & 0x240" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "0x240")) () ")")) (!= "!=") (number_literal "0x240"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))" (( "(") (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40))" (( "(") (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (, ",") (binary_expression "((uint)piVar5 & 0x204) != 0x204 &&\n        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (binary_expression "((uint)piVar5 & 0x204) != 0x204" (parenthesized_expression "((uint)piVar5 & 0x204)" (( "(") (binary_expression "(uint)piVar5 & 0x204" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "0x204")) () ")")) (!= "!=") (number_literal "0x204")) (&& "&&") (parenthesized_expression "(puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)" (( "(") (comma_expression "puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (, ",") (binary_expression "((uint)piVar5 & 0x4c) != 0x40" (parenthesized_expression "((uint)piVar5 & 0x4c)" (( "(") (binary_expression "(uint)piVar5 & 0x4c" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "0x4c")) () ")")) (!= "!=") (number_literal "0x40"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n      piVar23 = piVar5;\n      if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }\n      puVar17[-0x40] = puVar17[3];\n      puVar17[-0x41] = *puVar17;\n      puVar17[-0x4a] = 0x130;\n      puVar17[-0x4b] = 1;\n      puVar17[-0x4c] = 0x1bc1d;\n      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);\n      puVar9 = puVar17 + -0x47;\n      if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }\n    }" ({ "{") (expression_statement "piVar23 = piVar5;" (assignment_expression "piVar23 = piVar5" (identifier "piVar23") (= "=") (identifier "piVar5")) (; ";")) (if_statement "if (((uint)piVar5 & 0x10000) != 0) {\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }" (if "if") (parenthesized_expression "(((uint)piVar5 & 0x10000) != 0)" (( "(") (binary_expression "((uint)piVar5 & 0x10000) != 0" (parenthesized_expression "((uint)piVar5 & 0x10000)" (( "(") (binary_expression "(uint)piVar5 & 0x10000" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "0x10000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        puVar9 = puVar17 + -0x47;\n        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;\n        piVar23 = (int *)((uint)piVar5 | 0x40);\n        if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }\n      }" ({ "{") (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;" (if "if") (parenthesized_expression "(((uint)piVar5 & 0x240) != 0)" (( "(") (binary_expression "((uint)piVar5 & 0x240) != 0" (parenthesized_expression "((uint)piVar5 & 0x240)" (( "(") (binary_expression "(uint)piVar5 & 0x240" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "0x240")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bfd0;" (goto "goto") (statement_identifier "LAB_0001bfd0") (; ";"))) (expression_statement "piVar23 = (int *)((uint)piVar5 | 0x40);" (assignment_expression "piVar23 = (int *)((uint)piVar5 | 0x40)" (identifier "piVar23") (= "=") (cast_expression "(int *)((uint)piVar5 | 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar5 | 0x40)" (( "(") (binary_expression "(uint)piVar5 | 0x40" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (| "|") (number_literal "0x40")) () ")")))) (; ";")) (if_statement "if (((uint)piVar5 & 4) == 0) {\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }" (if "if") (parenthesized_expression "(((uint)piVar5 & 4) == 0)" (( "(") (binary_expression "((uint)piVar5 & 4) == 0" (parenthesized_expression "((uint)piVar5 & 4)" (( "(") (binary_expression "(uint)piVar5 & 4" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          piVar23 = (int *)((uint)piVar5 | 0x200);\n        }" ({ "{") (expression_statement "piVar23 = (int *)((uint)piVar5 | 0x200);" (assignment_expression "piVar23 = (int *)((uint)piVar5 | 0x200)" (identifier "piVar23") (= "=") (cast_expression "(int *)((uint)piVar5 | 0x200)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar5 | 0x200)" (( "(") (binary_expression "(uint)piVar5 | 0x200" (cast_expression "(uint)piVar5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar5")) (| "|") (number_literal "0x200")) () ")")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar17[-0x40] = puVar17[3];" (assignment_expression "puVar17[-0x40] = puVar17[3]" (subscript_expression "puVar17[-0x40]" (identifier "puVar17") ([ "[") (number_literal "-0x40") (] "]")) (= "=") (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar17[-0x41] = *puVar17;" (assignment_expression "puVar17[-0x41] = *puVar17" (subscript_expression "puVar17[-0x41]" (identifier "puVar17") ([ "[") (number_literal "-0x41") (] "]")) (= "=") (pointer_expression "*puVar17" (* "*") (identifier "puVar17"))) (; ";")) (expression_statement "puVar17[-0x4a] = 0x130;" (assignment_expression "puVar17[-0x4a] = 0x130" (subscript_expression "puVar17[-0x4a]" (identifier "puVar17") ([ "[") (number_literal "-0x4a") (] "]")) (= "=") (number_literal "0x130")) (; ";")) (expression_statement "puVar17[-0x4b] = 1;" (assignment_expression "puVar17[-0x4b] = 1" (subscript_expression "puVar17[-0x4b]" (identifier "puVar17") ([ "[") (number_literal "-0x4b") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "puVar17[-0x4c] = 0x1bc1d;" (assignment_expression "puVar17[-0x4c] = 0x1bc1d" (subscript_expression "puVar17[-0x4c]" (identifier "puVar17") ([ "[") (number_literal "-0x4c") (] "]")) (= "=") (number_literal "0x1bc1d")) (; ";")) (expression_statement "puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);" (assignment_expression "puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a])" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a])" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "calloc(puVar17[-0x4b],puVar17[-0x4a])" (identifier "calloc") (argument_list "(puVar17[-0x4b],puVar17[-0x4a])" (( "(") (subscript_expression "puVar17[-0x4b]" (identifier "puVar17") ([ "[") (number_literal "-0x4b") (] "]")) (, ",") (subscript_expression "puVar17[-0x4a]" (identifier "puVar17") ([ "[") (number_literal "-0x4a") (] "]")) () ")"))))) (; ";")) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if (puVar11 != (undefined4 *)0x0) {\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }" (if "if") (parenthesized_expression "(puVar11 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar11 != (undefined4 *)0x0" (identifier "puVar11") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        puVar11[0x34] = 0xffffffff;\n        puVar11[0x32] = 0xffffffff;\n        puVar11[0x33] = 0;\n        puVar11[0x3d] = piVar23;\n        uVar18 = puVar17[-0x41];\n        *puVar11 = piVar14;\n        puVar11[0x39] = 0;\n        puVar11[0x3a] = 0x3fc;\n        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;\n        uVar1 = *(undefined2 *)(puVar17 + -0x44);\n        puVar11[0x11] = uVar18;\n        puVar11[0x1f] = 0x8000;\n        puVar11[0x20] = 0x400;\n        puVar11[0x3b] = 0;\n        puVar11[0x36] = 0xffffffff;\n        puVar11[0x4b] = 0x80;\n        *(undefined2 *)(puVar11 + 0x3e) = uVar1;\n        uVar18 = puVar17[-0x40];\n        puVar11[0x10] = puVar17[-0x43];\n        puVar11[1] = puVar17[-0x42];\n        puVar11[0x18] = iVar8 + -0x43b9;\n        puVar11[0x1a] = iVar8 + -0x43e9;\n        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);\n        if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }\n        puVar20 = puVar17 + -0x47;\n        puVar11[0x48] = 0;\n        puVar11[0x40] = 0;\n        puVar11[0x49] = 4;\n        puVar17[-0x48] = 0x1bd33;\n        iVar7 = FUN_000172b0();\n        puVar9 = puVar17 + -0x47;\n        if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }\n        goto LAB_0001bf6b;\n      }" ({ "{") (expression_statement "puVar11[0x34] = 0xffffffff;" (assignment_expression "puVar11[0x34] = 0xffffffff" (subscript_expression "puVar11[0x34]" (identifier "puVar11") ([ "[") (number_literal "0x34") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar11[0x32] = 0xffffffff;" (assignment_expression "puVar11[0x32] = 0xffffffff" (subscript_expression "puVar11[0x32]" (identifier "puVar11") ([ "[") (number_literal "0x32") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar11[0x33] = 0;" (assignment_expression "puVar11[0x33] = 0" (subscript_expression "puVar11[0x33]" (identifier "puVar11") ([ "[") (number_literal "0x33") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "uVar18 = puVar17[-0x41];" (assignment_expression "uVar18 = puVar17[-0x41]" (identifier "uVar18") (= "=") (subscript_expression "puVar17[-0x41]" (identifier "puVar17") ([ "[") (number_literal "-0x41") (] "]"))) (; ";")) (expression_statement "*puVar11 = piVar14;" (assignment_expression "*puVar11 = piVar14" (pointer_expression "*puVar11" (* "*") (identifier "puVar11")) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "puVar11[0x39] = 0;" (assignment_expression "puVar11[0x39] = 0" (subscript_expression "puVar11[0x39]" (identifier "puVar11") ([ "[") (number_literal "0x39") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0x3a] = 0x3fc;" (assignment_expression "puVar11[0x3a] = 0x3fc" (subscript_expression "puVar11[0x3a]" (identifier "puVar11") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (number_literal "0x3fc")) (; ";")) (expression_statement "puVar11[0x3f] = (uint)piVar23 >> 5 & 1;" (assignment_expression "puVar11[0x3f] = (uint)piVar23 >> 5 & 1" (subscript_expression "puVar11[0x3f]" (identifier "puVar11") ([ "[") (number_literal "0x3f") (] "]")) (= "=") (binary_expression "(uint)piVar23 >> 5 & 1" (binary_expression "(uint)piVar23 >> 5" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (>> ">>") (number_literal "5")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "uVar1 = *(undefined2 *)(puVar17 + -0x44);" (assignment_expression "uVar1 = *(undefined2 *)(puVar17 + -0x44)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined2 *)(puVar17 + -0x44)" (* "*") (cast_expression "(undefined2 *)(puVar17 + -0x44)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x44)" (( "(") (binary_expression "puVar17 + -0x44" (identifier "puVar17") (+ "+") (number_literal "-0x44")) () ")"))))) (; ";")) (expression_statement "puVar11[0x11] = uVar18;" (assignment_expression "puVar11[0x11] = uVar18" (subscript_expression "puVar11[0x11]" (identifier "puVar11") ([ "[") (number_literal "0x11") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar11[0x1f] = 0x8000;" (assignment_expression "puVar11[0x1f] = 0x8000" (subscript_expression "puVar11[0x1f]" (identifier "puVar11") ([ "[") (number_literal "0x1f") (] "]")) (= "=") (number_literal "0x8000")) (; ";")) (expression_statement "puVar11[0x20] = 0x400;" (assignment_expression "puVar11[0x20] = 0x400" (subscript_expression "puVar11[0x20]" (identifier "puVar11") ([ "[") (number_literal "0x20") (] "]")) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "puVar11[0x3b] = 0;" (assignment_expression "puVar11[0x3b] = 0" (subscript_expression "puVar11[0x3b]" (identifier "puVar11") ([ "[") (number_literal "0x3b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0x36] = 0xffffffff;" (assignment_expression "puVar11[0x36] = 0xffffffff" (subscript_expression "puVar11[0x36]" (identifier "puVar11") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar11[0x4b] = 0x80;" (assignment_expression "puVar11[0x4b] = 0x80" (subscript_expression "puVar11[0x4b]" (identifier "puVar11") ([ "[") (number_literal "0x4b") (] "]")) (= "=") (number_literal "0x80")) (; ";")) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = uVar1;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = uVar1" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" (* "*") (cast_expression "(undefined2 *)(puVar11 + 0x3e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3e)" (( "(") (binary_expression "puVar11 + 0x3e" (identifier "puVar11") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "uVar18 = puVar17[-0x40];" (assignment_expression "uVar18 = puVar17[-0x40]" (identifier "uVar18") (= "=") (subscript_expression "puVar17[-0x40]" (identifier "puVar17") ([ "[") (number_literal "-0x40") (] "]"))) (; ";")) (expression_statement "puVar11[0x10] = puVar17[-0x43];" (assignment_expression "puVar11[0x10] = puVar17[-0x43]" (subscript_expression "puVar11[0x10]" (identifier "puVar11") ([ "[") (number_literal "0x10") (] "]")) (= "=") (subscript_expression "puVar17[-0x43]" (identifier "puVar17") ([ "[") (number_literal "-0x43") (] "]"))) (; ";")) (expression_statement "puVar11[1] = puVar17[-0x42];" (assignment_expression "puVar11[1] = puVar17[-0x42]" (subscript_expression "puVar11[1]" (identifier "puVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar17[-0x42]" (identifier "puVar17") ([ "[") (number_literal "-0x42") (] "]"))) (; ";")) (expression_statement "puVar11[0x18] = iVar8 + -0x43b9;" (assignment_expression "puVar11[0x18] = iVar8 + -0x43b9" (subscript_expression "puVar11[0x18]" (identifier "puVar11") ([ "[") (number_literal "0x18") (] "]")) (= "=") (binary_expression "iVar8 + -0x43b9" (identifier "iVar8") (+ "+") (number_literal "-0x43b9"))) (; ";")) (expression_statement "puVar11[0x1a] = iVar8 + -0x43e9;" (assignment_expression "puVar11[0x1a] = iVar8 + -0x43e9" (subscript_expression "puVar11[0x1a]" (identifier "puVar11") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (binary_expression "iVar8 + -0x43e9" (identifier "iVar8") (+ "+") (number_literal "-0x43e9"))) (; ";")) (expression_statement "puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);" (assignment_expression "puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8)" (subscript_expression "puVar11[0x1b]" (identifier "puVar11") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (pointer_expression "**(undefined4 **)(&UNK_00014497 + iVar8)" (* "*") (pointer_expression "*(undefined4 **)(&UNK_00014497 + iVar8)" (* "*") (cast_expression "(undefined4 **)(&UNK_00014497 + iVar8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014497 + iVar8)" (( "(") (binary_expression "&UNK_00014497 + iVar8" (pointer_expression "&UNK_00014497" (& "&") (identifier "UNK_00014497")) (+ "+") (identifier "iVar8")) () ")")))))) (; ";")) (if_statement "if (((uint)piVar23 & 0xc) == 4) {\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }\n        else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" (if "if") (parenthesized_expression "(((uint)piVar23 & 0xc) == 4)" (( "(") (binary_expression "((uint)piVar23 & 0xc) == 4" (parenthesized_expression "((uint)piVar23 & 0xc)" (( "(") (binary_expression "(uint)piVar23 & 0xc" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (& "&") (number_literal "0xc")) () ")")) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          puVar17[-0x43] = uVar18;\n          puVar17[-0x4a] = iVar8 + 0xbff7;\n          puVar17[-0x4b] = puVar11;\n          puVar17[-0x4c] = 0x1bebc;\n          FUN_0001cf70();\n          piVar23 = (int *)(puVar11[0x3d] | 8);\n          puVar11[0x3d] = piVar23;\nLAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }\n        }" ({ "{") (expression_statement "puVar17[-0x43] = uVar18;" (assignment_expression "puVar17[-0x43] = uVar18" (subscript_expression "puVar17[-0x43]" (identifier "puVar17") ([ "[") (number_literal "-0x43") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar17[-0x4a] = iVar8 + 0xbff7;" (assignment_expression "puVar17[-0x4a] = iVar8 + 0xbff7" (subscript_expression "puVar17[-0x4a]" (identifier "puVar17") ([ "[") (number_literal "-0x4a") (] "]")) (= "=") (binary_expression "iVar8 + 0xbff7" (identifier "iVar8") (+ "+") (number_literal "0xbff7"))) (; ";")) (expression_statement "puVar17[-0x4b] = puVar11;" (assignment_expression "puVar17[-0x4b] = puVar11" (subscript_expression "puVar17[-0x4b]" (identifier "puVar17") ([ "[") (number_literal "-0x4b") (] "]")) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "puVar17[-0x4c] = 0x1bebc;" (assignment_expression "puVar17[-0x4c] = 0x1bebc" (subscript_expression "puVar17[-0x4c]" (identifier "puVar17") ([ "[") (number_literal "-0x4c") (] "]")) (= "=") (number_literal "0x1bebc")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar23 = (int *)(puVar11[0x3d] | 8);" (assignment_expression "piVar23 = (int *)(puVar11[0x3d] | 8)" (identifier "piVar23") (= "=") (cast_expression "(int *)(puVar11[0x3d] | 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11[0x3d] | 8)" (( "(") (binary_expression "puVar11[0x3d] | 8" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (| "|") (number_literal "8")) () ")")))) (; ";")) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "piVar23")) (; ";")) (labeled_statement "LAB_0001bed2:\n          if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" (statement_identifier "LAB_0001bed2") (: ":") (if_statement "if (((uint)piVar23 & 0x100) != 0) {\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" (if "if") (parenthesized_expression "(((uint)piVar23 & 0x100) != 0)" (( "(") (binary_expression "((uint)piVar23 & 0x100) != 0" (parenthesized_expression "((uint)piVar23 & 0x100)" (( "(") (binary_expression "(uint)piVar23 & 0x100" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (& "&") (number_literal "0x100")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar23 = (int *)((uint)piVar23 | 0x400);\n            puVar11[0x3d] = piVar23;\n          }" ({ "{") (expression_statement "piVar23 = (int *)((uint)piVar23 | 0x400);" (assignment_expression "piVar23 = (int *)((uint)piVar23 | 0x400)" (identifier "piVar23") (= "=") (cast_expression "(int *)((uint)piVar23 | 0x400)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar23 | 0x400)" (( "(") (binary_expression "(uint)piVar23 | 0x400" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (| "|") (number_literal "0x400")) () ")")))) (; ";")) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "piVar23")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" (else "else") (compound_statement "{\n          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;\n          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);\n          puVar11[0x3d] = piVar23;\n        }" ({ "{") (if_statement "if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;" (if "if") (parenthesized_expression "(((uint)piVar23 & 8) != 0)" (( "(") (binary_expression "((uint)piVar23 & 8) != 0" (parenthesized_expression "((uint)piVar23 & 8)" (( "(") (binary_expression "(uint)piVar23 & 8" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bed2;" (goto "goto") (statement_identifier "LAB_0001bed2") (; ";"))) (expression_statement "piVar23 = (int *)((uint)piVar23 & 0xfffffbff);" (assignment_expression "piVar23 = (int *)((uint)piVar23 & 0xfffffbff)" (identifier "piVar23") (= "=") (cast_expression "(int *)((uint)piVar23 & 0xfffffbff)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)piVar23 & 0xfffffbff)" (( "(") (binary_expression "(uint)piVar23 & 0xfffffbff" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (& "&") (number_literal "0xfffffbff")) () ")")))) (; ";")) (expression_statement "puVar11[0x3d] = piVar23;" (assignment_expression "puVar11[0x3d] = piVar23" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (identifier "piVar23")) (; ";")) (} "}")))) (expression_statement "puVar20 = puVar17 + -0x47;" (assignment_expression "puVar20 = puVar17 + -0x47" (identifier "puVar20") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (expression_statement "puVar11[0x48] = 0;" (assignment_expression "puVar11[0x48] = 0" (subscript_expression "puVar11[0x48]" (identifier "puVar11") ([ "[") (number_literal "0x48") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0x40] = 0;" (assignment_expression "puVar11[0x40] = 0" (subscript_expression "puVar11[0x40]" (identifier "puVar11") ([ "[") (number_literal "0x40") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0x49] = 4;" (assignment_expression "puVar11[0x49] = 4" (subscript_expression "puVar11[0x49]" (identifier "puVar11") ([ "[") (number_literal "0x49") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "puVar17[-0x48] = 0x1bd33;" (assignment_expression "puVar17[-0x48] = 0x1bd33" (subscript_expression "puVar17[-0x48]" (identifier "puVar17") ([ "[") (number_literal "-0x48") (] "]")) (= "=") (number_literal "0x1bd33")) (; ";")) (expression_statement "iVar7 = FUN_000172b0();" (assignment_expression "iVar7 = FUN_000172b0()" (identifier "iVar7") (= "=") (call_expression "FUN_000172b0()" (identifier "FUN_000172b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if (iVar7 == 1) {\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }" (if "if") (parenthesized_expression "(iVar7 == 1)" (( "(") (binary_expression "iVar7 == 1" (identifier "iVar7") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          uVar6 = puVar11[0x3d];\n          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }\n          puVar9 = puVar17 + -0x47;\n          if (puVar11[0x22] == 0) goto LAB_0001c310;\nLAB_0001bd6c:\n          uVar6 = puVar11[0x49];\n          if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }\n          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;\n          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n          if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }\n          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;\n          FUN_0001cf70();\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;\n          free(*(void **)((int)puVar9 + -0x10));\n          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;\n          free(*(void **)((int)puVar9 + -0x10));\n          goto LAB_0001bf79;\n        }" ({ "{") (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (if_statement "if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }\n          else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" (if "if") (parenthesized_expression "((puVar11[0x12] == 0) || ((uVar6 & 4) == 0))" (( "(") (binary_expression "(puVar11[0x12] == 0) || ((uVar6 & 4) == 0)" (parenthesized_expression "(puVar11[0x12] == 0)" (( "(") (binary_expression "puVar11[0x12] == 0" (subscript_expression "puVar11[0x12]" (identifier "puVar11") ([ "[") (number_literal "0x12") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((uVar6 & 4) == 0)" (( "(") (binary_expression "(uVar6 & 4) == 0" (parenthesized_expression "(uVar6 & 4)" (( "(") (binary_expression "uVar6 & 4" (identifier "uVar6") (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            puVar9 = puVar17 + -0x47;\n            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;\n          }" ({ "{") (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;" (if "if") (parenthesized_expression "((uVar6 & 0x400) == 0)" (( "(") (binary_expression "(uVar6 & 0x400) == 0" (parenthesized_expression "(uVar6 & 0x400)" (( "(") (binary_expression "uVar6 & 0x400" (identifier "uVar6") (& "&") (number_literal "0x400")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bd6c;" (goto "goto") (statement_identifier "LAB_0001bd6c") (; ";"))) (} "}")) (else_clause "else {\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" (else "else") (compound_statement "{\n            puVar11[0x3d] = uVar6 | 0x400;\n          }" ({ "{") (expression_statement "puVar11[0x3d] = uVar6 | 0x400;" (assignment_expression "puVar11[0x3d] = uVar6 | 0x400" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (= "=") (binary_expression "uVar6 | 0x400" (identifier "uVar6") (| "|") (number_literal "0x400"))) (; ";")) (} "}")))) (expression_statement "puVar9 = puVar17 + -0x47;" (assignment_expression "puVar9 = puVar17 + -0x47" (identifier "puVar9") (= "=") (binary_expression "puVar17 + -0x47" (identifier "puVar17") (+ "+") (number_literal "-0x47"))) (; ";")) (if_statement "if (puVar11[0x22] == 0) goto LAB_0001c310;" (if "if") (parenthesized_expression "(puVar11[0x22] == 0)" (( "(") (binary_expression "puVar11[0x22] == 0" (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c310;" (goto "goto") (statement_identifier "LAB_0001c310") (; ";"))) (labeled_statement "LAB_0001bd6c:\n          uVar6 = puVar11[0x49];" (statement_identifier "LAB_0001bd6c") (: ":") (expression_statement "uVar6 = puVar11[0x49];" (assignment_expression "uVar6 = puVar11[0x49]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[0x49]" (identifier "puVar11") ([ "[") (number_literal "0x49") (] "]"))) (; ";"))) (if_statement "if (uVar6 != 0) {\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar23 = (int *)(uVar6 * 0x94);\n            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;\n            *(int **)((int)puVar9 + -0x10) = piVar23;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;\n            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n            puVar11[0x41] = pvVar12;\n            if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }\n          }" ({ "{") (expression_statement "piVar23 = (int *)(uVar6 * 0x94);" (assignment_expression "piVar23 = (int *)(uVar6 * 0x94)" (identifier "piVar23") (= "=") (cast_expression "(int *)(uVar6 * 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar6 * 0x94)" (( "(") (binary_expression "uVar6 * 0x94" (identifier "uVar6") (* "*") (number_literal "0x94")) () ")")))) (; ";")) (if_statement "if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;" (if "if") (parenthesized_expression "(uVar6 != (uint)piVar23 / 0x94)" (( "(") (binary_expression "uVar6 != (uint)piVar23 / 0x94" (identifier "uVar6") (!= "!=") (binary_expression "(uint)piVar23 / 0x94" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (/ "/") (number_literal "0x94"))) () ")")) (goto_statement "goto LAB_0001c3a0;" (goto "goto") (statement_identifier "LAB_0001c3a0") (; ";"))) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bd9c")) (; ";")) (expression_statement "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));" (assignment_expression "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10))" (identifier "pvVar12") (= "=") (call_expression "malloc(*(size_t *)((int)puVar9 + -0x10))" (identifier "malloc") (argument_list "(*(size_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(size_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(size_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar11[0x41] = pvVar12;" (assignment_expression "puVar11[0x41] = pvVar12" (subscript_expression "puVar11[0x41]" (identifier "puVar11") ([ "[") (number_literal "0x41") (] "]")) (= "=") (identifier "pvVar12")) (; ";")) (if_statement "if (pvVar12 == (void *)0x0) {\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }" (if "if") (parenthesized_expression "(pvVar12 == (void *)0x0)" (( "(") (binary_expression "pvVar12 == (void *)0x0" (identifier "pvVar12") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              puVar21 = (undefined1 *)((int)puVar9 + -8);\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              iVar8 = iVar8 + 0xc17b;\n              goto LAB_0001c3a9;\n            }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb57;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb57" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cb57")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cb61")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar21 = (undefined1 *)((int)puVar9 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar9 + -8)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "iVar8 = iVar8 + 0xc17b;" (assignment_expression "iVar8 = iVar8 + 0xc17b" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 0xc17b" (identifier "iVar8") (+ "+") (number_literal "0xc17b"))) (; ";")) (goto_statement "goto LAB_0001c3a9;" (goto "goto") (statement_identifier "LAB_0001c3a9") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x14)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x14)" (( "(") (binary_expression "(int)puVar9 + 0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (binary_expression "puVar11 + 0x42" (identifier "puVar11") (+ "+") (number_literal "0x42"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "puVar11 + 0x42" (identifier "puVar11") (+ "+") (number_literal "0x42"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bdc2")) (; ";")) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "pthread_mutex_init") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "pthread_mutexattr_t **" (type_identifier "pthread_mutexattr_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar6 = puVar11[0x3d];\n            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }\n            piVar14 = (int *)puVar11[0x32];\n            *(int **)((int)puVar9 + 0x10) = piVar14;\n            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;\nLAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }\n            do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );\n          }" ({ "{") (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (if_statement "if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }" (if "if") (parenthesized_expression "(((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0))" (( "(") (binary_expression "((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)" (parenthesized_expression "((uVar6 & 8) == 0)" (( "(") (binary_expression "(uVar6 & 8) == 0" (parenthesized_expression "(uVar6 & 8)" (( "(") (binary_expression "uVar6 & 8" (identifier "uVar6") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)" (( "(") (comma_expression "piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0" (assignment_expression "piVar23 = (int *)puVar11[0x22]" (identifier "piVar23") (= "=") (cast_expression "(int *)puVar11[0x22]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]")))) (, ",") (binary_expression "piVar23 != (int *)0x0" (identifier "piVar23") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;\n              FUN_0001cf70();\n              goto LAB_0001bf08;\n            }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc1d7" (identifier "iVar8") (+ "+") (number_literal "0xc1d7"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bf00")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";")) (} "}"))) (expression_statement "piVar14 = (int *)puVar11[0x32];" (assignment_expression "piVar14 = (int *)puVar11[0x32]" (identifier "piVar14") (= "=") (cast_expression "(int *)puVar11[0x32]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0x32]" (identifier "puVar11") ([ "[") (number_literal "0x32") (] "]")))) (; ";")) (expression_statement "*(int **)((int)puVar9 + 0x10) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + 0x10) = piVar14" (pointer_expression "*(int **)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (if_statement "if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;" (if "if") (parenthesized_expression "(piVar14 == (int *)0xffffffff)" (( "(") (binary_expression "piVar14 == (int *)0xffffffff" (identifier "piVar14") (== "==") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_0001c078;" (goto "goto") (statement_identifier "LAB_0001c078") (; ";"))) (labeled_statement "LAB_0001bdf8:\n            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" (statement_identifier "LAB_0001bdf8") (: ":") (if_statement "if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" (if "if") (parenthesized_expression "((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0))" (( "(") (binary_expression "(*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)" (parenthesized_expression "(*(short *)(puVar11 + 0x3e) == 0)" (( "(") (binary_expression "*(short *)(puVar11 + 0x3e) == 0" (pointer_expression "*(short *)(puVar11 + 0x3e)" (* "*") (cast_expression "(short *)(puVar11 + 0x3e)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3e)" (( "(") (binary_expression "puVar11 + 0x3e" (identifier "puVar11") (+ "+") (number_literal "0x3e")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((puVar11[0x3d] & 0x100) == 0)" (( "(") (binary_expression "(puVar11[0x3d] & 0x100) == 0" (parenthesized_expression "(puVar11[0x3d] & 0x100)" (( "(") (binary_expression "puVar11[0x3d] & 0x100" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x100")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;\n              piVar14 = (int *)((int)puVar9 + 0x6c);\n              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }\n              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);\n              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;\n              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));\n              if (iVar7 != 0) goto LAB_0001c540;\n              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x80;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x80" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x38)" (( "(") (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0x80")) (; ";")) (expression_statement "piVar14 = (int *)((int)puVar9 + 0x6c);" (assignment_expression "piVar14 = (int *)((int)puVar9 + 0x6c)" (identifier "piVar14") (= "=") (cast_expression "(int *)((int)puVar9 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x6c)" (( "(") (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x6c")) () ")")))) (; ";")) (for_statement "for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }" (for "for") (( "(") (assignment_expression "iVar7 = 0x20" (identifier "iVar7") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar7 = iVar7 + -1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + -1" (identifier "iVar7") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n                *piVar14 = 0;\n                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n              }" ({ "{") (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar14 = piVar14 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar14 = piVar14 + (uint)bVar25 * -2 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + (uint)bVar25 * -2 + 1" (binary_expression "piVar14 + (uint)bVar25 * -2" (identifier "piVar14") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);" (assignment_expression "*(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38)" (pointer_expression "*(undefined1 **)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)puVar9 + 0x38)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x38)" (( "(") (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x38")) () ")")))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);" (assignment_expression "*(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c)" (pointer_expression "*(int **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int *)((int)puVar9 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x6c)" (( "(") (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x6c")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c3ef")) (; ";")) (expression_statement "iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8));" (assignment_expression "iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" (identifier "iVar7") (= "=") (call_expression "getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" (identifier "getsockname") (argument_list "(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                                  *(socklen_t **)((int)puVar9 + -8))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(sockaddr **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(sockaddr **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "sockaddr **" (type_identifier "sockaddr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(socklen_t **)((int)puVar9 + -8)" (* "*") (cast_expression "(socklen_t **)((int)puVar9 + -8)" (( "(") (type_descriptor "socklen_t **" (type_identifier "socklen_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0001c540;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c540;" (goto "goto") (statement_identifier "LAB_0001c540") (; ";"))) (if_statement "if (*(uint *)((int)puVar9 + 0x38) < 0x81) {\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }\n              else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" (if "if") (parenthesized_expression "(*(uint *)((int)puVar9 + 0x38) < 0x81)" (( "(") (binary_expression "*(uint *)((int)puVar9 + 0x38) < 0x81" (pointer_expression "*(uint *)((int)puVar9 + 0x38)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x38)" (( "(") (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x38")) () ")")))) (< "<") (number_literal "0x81")) () ")")) (compound_statement "{\n                sVar2 = *(short *)((int)puVar9 + 0x6c);\n                if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n              }" ({ "{") (expression_statement "sVar2 = *(short *)((int)puVar9 + 0x6c);" (assignment_expression "sVar2 = *(short *)((int)puVar9 + 0x6c)" (identifier "sVar2") (= "=") (pointer_expression "*(short *)((int)puVar9 + 0x6c)" (* "*") (cast_expression "(short *)((int)puVar9 + 0x6c)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x6c)" (( "(") (binary_expression "(int)puVar9 + 0x6c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x6c")) () ")"))))) (; ";")) (if_statement "if ((sVar2 == 2) || (sVar2 == 10)) {\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }\n                else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" (if "if") (parenthesized_expression "((sVar2 == 2) || (sVar2 == 10))" (( "(") (binary_expression "(sVar2 == 2) || (sVar2 == 10)" (parenthesized_expression "(sVar2 == 2)" (( "(") (binary_expression "sVar2 == 2" (identifier "sVar2") (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(sVar2 == 10)" (( "(") (binary_expression "sVar2 == 10" (identifier "sVar2") (== "==") (number_literal "10")) () ")"))) () ")")) (compound_statement "{\n                  *(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;\n                }" ({ "{") (expression_statement "*(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;" (assignment_expression "*(ushort *)(puVar11 + 0x3e) =\n                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8" (pointer_expression "*(ushort *)(puVar11 + 0x3e)" (* "*") (cast_expression "(ushort *)(puVar11 + 0x3e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3e)" (( "(") (binary_expression "puVar11 + 0x3e" (identifier "puVar11") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0x6e) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x6e)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0x6e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x6e)" (( "(") (binary_expression "(int)puVar9 + 0x6e" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x6e")) () ")")))) (>> ">>") (number_literal "8")) (| "|") (binary_expression "*(ushort *)((int)puVar9 + 0x6e) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x6e)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0x6e)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x6e)" (( "(") (binary_expression "(int)puVar9 + 0x6e" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x6e")) () ")")))) (<< "<<") (number_literal "8")))) (; ";")) (} "}")) (else_clause "else if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" (else "else") (if_statement "if (sVar2 == 1) {\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }\n                else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" (if "if") (parenthesized_expression "(sVar2 == 1)" (( "(") (binary_expression "sVar2 == 1" (identifier "sVar2") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                  piVar23 = (int *)0x0;\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" ({ "{") (expression_statement "piVar23 = (int *)0x0;" (assignment_expression "piVar23 = (int *)0x0" (identifier "piVar23") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" (* "*") (cast_expression "(undefined2 *)(puVar11 + 0x3e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3e)" (( "(") (binary_expression "puVar11 + 0x3e" (identifier "puVar11") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" (else "else") (compound_statement "{\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;\n                  FUN_0001cf70();\n                  *(undefined2 *)(puVar11 + 0x3e) = 0;\n                }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb328" (identifier "iVar8") (+ "+") (number_literal "0xb328"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c43b")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined2 *)(puVar11 + 0x3e) = 0;" (assignment_expression "*(undefined2 *)(puVar11 + 0x3e) = 0" (pointer_expression "*(undefined2 *)(puVar11 + 0x3e)" (* "*") (cast_expression "(undefined2 *)(puVar11 + 0x3e)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3e)" (( "(") (binary_expression "puVar11 + 0x3e" (identifier "puVar11") (+ "+") (number_literal "0x3e")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}")) (else_clause "else {\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" (else "else") (compound_statement "{\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;\n                FUN_0001cf70();\n              }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc2bb" (identifier "iVar8") (+ "+") (number_literal "0xc2bb"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c7b8")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")))) (do_statement "do {\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            } while( true );" (do "do") (compound_statement "{\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;\n              iVar7 = FUN_0001e210();\n              if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }\n              *(undefined4 *)((int)puVar9 + -4) = 0x400;\n              piVar14 = *(int **)((int)puVar9 + 0x10);\n              *(int **)((int)puVar9 + -8) = piVar14;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;\n              FUN_0001cf70();\n              *(int **)((int)puVar9 + -0x10) = piVar14;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;\n              iVar7 = close(*(int *)((int)puVar9 + -0x10));\n              if (iVar7 == 0) goto LAB_0001bf08;\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;\n              piVar5 = __errno_location();\n              if (*piVar5 != 9) goto LAB_0001bf08;\n              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n              pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;\n              (*pcVar3)();\n              puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;\n              piVar5 = __errno_location();\n              *(int *)((int)puVar9 + -0x10) = *piVar5;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;\n              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n              *(char **)((int)puVar9 + -8) = pcVar13;\n              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;\n              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;\n              FUN_0001cf70();\n            }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1be1f")) (; ";")) (expression_statement "iVar7 = FUN_0001e210();" (assignment_expression "iVar7 = FUN_0001e210()" (identifier "iVar7") (= "=") (call_expression "FUN_0001e210()" (identifier "FUN_0001e210") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }\n              else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;\n                piVar23 = __errno_location();\n                *(int *)((int)puVar9 + -0x10) = *piVar23;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;\n                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n                *(char **)((int)puVar9 + -8) = pcVar13;\n                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;\n                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;\n                FUN_0001cf70();\n                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }\n              }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c455;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c455" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c455")) (; ";")) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" (identifier "piVar23") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c461" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c461")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc307" (identifier "iVar8") (+ "+") (number_literal "0xc307"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c472" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c472")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }" (if "if") (parenthesized_expression "(((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0))" (( "(") (binary_expression "((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)" (parenthesized_expression "((puVar11[0x3d] & 0x200) != 0)" (( "(") (binary_expression "(puVar11[0x3d] & 0x200) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x200)" (( "(") (binary_expression "puVar11[0x3d] & 0x200" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x200")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar11[0x22] != 0)" (( "(") (binary_expression "puVar11[0x22] != 0" (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;\n                  iVar7 = close(*(int *)((int)puVar9 + -0x10));\n                  if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }\n                  goto LAB_0001bf08;\n                }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c57c")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar7 != 0) && (*piVar23 == 9)) {\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }" (if "if") (parenthesized_expression "((iVar7 != 0) && (*piVar23 == 9))" (( "(") (binary_expression "(iVar7 != 0) && (*piVar23 == 9)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar23 == 9)" (( "(") (binary_expression "*piVar23 == 9" (pointer_expression "*piVar23" (* "*") (identifier "piVar23")) (== "==") (number_literal "9")) () ")"))) () ")")) (compound_statement "{\n                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;\n                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;\n                    (*pcVar3)();\n                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n                    goto LAB_0001c5b0;\n                  }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x18d4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x18d4" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x18d4")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c5af")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (goto_statement "goto LAB_0001c5b0;" (goto "goto") (statement_identifier "LAB_0001c5b0") (; ";")) (} "}"))) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";")) (} "}"))) (if_statement "if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }" (if "if") (parenthesized_expression "((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0))" (( "(") (binary_expression "(*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)" (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) < 0x400)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "0x400")) () ")")) (|| "||") (parenthesized_expression "((puVar11[0x3d] & 0x240) != 0)" (( "(") (binary_expression "(puVar11[0x3d] & 0x240) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" (( "(") (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x240")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0xc) = 0;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;\n                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n                  if (iVar7 == 0) goto LAB_0001c200;\n                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;\n                  FUN_0001cf70();\n                  goto LAB_0001c02e;\n                }" ({ "{") (expression_statement "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + 0xc)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "puVar11 + 0x25" (identifier "puVar11") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "puVar11 + 0x25" (identifier "puVar11") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c4b8")) (; ";")) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "pthread_mutex_init") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "pthread_mutexattr_t **" (type_identifier "pthread_mutexattr_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001c200;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c200;" (goto "goto") (statement_identifier "LAB_0001c200") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc38f" (identifier "iVar8") (+ "+") (number_literal "0xc38f"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c4d3")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001c02e;" (goto "goto") (statement_identifier "LAB_0001c02e") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" (else "else") (compound_statement "{\n                uVar6 = puVar11[0x3d];\n                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;\n              }" ({ "{") (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (if_statement "if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))\n                goto LAB_0001be45;" (if "if") (parenthesized_expression "((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))" (( "(") (binary_expression "(*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0)" (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) < 0x400)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x10) < 0x400" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (< "<") (number_literal "0x400")) () ")")) (|| "||") (parenthesized_expression "((uVar6 & 0x240) != 0)" (( "(") (binary_expression "(uVar6 & 0x240) != 0" (parenthesized_expression "(uVar6 & 0x240)" (( "(") (binary_expression "uVar6 & 0x240" (identifier "uVar6") (& "&") (number_literal "0x240")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0001be45;" (goto "goto") (statement_identifier "LAB_0001be45") (; ";"))) (} "}")))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x400;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x400" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "piVar14 = *(int **)((int)puVar9 + 0x10);" (assignment_expression "piVar14 = *(int **)((int)puVar9 + 0x10)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -8) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + -8) = piVar14" (pointer_expression "*(int **)((int)puVar9 + -8)" (* "*") (cast_expression "(int **)((int)puVar9 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb85b" (identifier "iVar8") (+ "+") (number_literal "0xb85b"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c4f7")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar14;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar14" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar14")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c4ff")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c50f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c50f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c50f")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x18e3;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x18e3" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x18e3")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c537" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c537")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (labeled_statement "LAB_0001c540:\n              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;" (statement_identifier "LAB_0001c540") (: ":") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c545;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c545" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c545")) (; ";"))) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c54f")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc293" (identifier "iVar8") (+ "+") (number_literal "0xc293"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c560" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c560")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc1ab" (identifier "iVar8") (+ "+") (number_literal "0xc1ab"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c6d0")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar11[0x41]" (identifier "puVar11") ([ "[") (number_literal "0x41") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c6dc")) (; ";")) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c6e6")) (; ";")) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_0001bf79;" (goto "goto") (statement_identifier "LAB_0001bf79") (; ";")) (} "}"))) (goto_statement "goto LAB_0001bf6b;" (goto "goto") (statement_identifier "LAB_0001bf6b") (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0001bfd0:\n  puVar11 = (undefined4 *)0x0;" (statement_identifier "LAB_0001bfd0") (: ":") (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (labeled_statement "LAB_0001bf79:\n  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }" (statement_identifier "LAB_0001bf79") (: ":") (if_statement "if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return puVar11;\n  }" (if "if") (parenthesized_expression "(*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar9 + 0xec)" (* "*") (cast_expression "(int *)((int)puVar9 + 0xec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xec)" (( "(") (binary_expression "(int)puVar9 + 0xec" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xec")) () ")")))) (== "==") (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    return puVar11;\n  }" ({ "{") (return_statement "return puVar11;" (return "return") (identifier "puVar11") (; ";")) (} "}")))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cc8f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cc8f")) (; ";")) (expression_statement "FUN_00025ce0();" (call_expression "FUN_00025ce0()" (identifier "FUN_00025ce0") (argument_list "()" (( "(") () ")"))) (; ";")) (while_statement "while( true ) {\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n    if (iVar7 == 0) goto LAB_0001c200;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;\n    FUN_0001cf70();\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\nLAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1904;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;\n    uVar6 = (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;\nLAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }\n  }" ({ "{") (expression_statement "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + 0xc)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "puVar11 + 0x25" (identifier "puVar11") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "puVar11 + 0x25" (identifier "puVar11") (+ "+") (number_literal "0x25"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c005" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c005")) (; ";")) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "pthread_mutex_init") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "pthread_mutexattr_t **" (type_identifier "pthread_mutexattr_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001c200;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c200;" (goto "goto") (statement_identifier "LAB_0001c200") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc38f" (identifier "iVar8") (+ "+") (number_literal "0xc38f"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c020" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c020")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (labeled_statement "LAB_0001c02e:\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (statement_identifier "LAB_0001c02e") (: ":") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c03a")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c04a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c04a" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c04a")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1904;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1904" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1904")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c072" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c072")) (; ";")) (expression_statement "uVar6 = (*pcVar3)();" (assignment_expression "uVar6 = (*pcVar3)()" (identifier "uVar6") (= "=") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (labeled_statement "LAB_0001c078:\n    if ((uVar6 & 0x100) == 0) break;" (statement_identifier "LAB_0001c078") (: ":") (if_statement "if ((uVar6 & 0x100) == 0) break;" (if "if") (parenthesized_expression "((uVar6 & 0x100) == 0)" (( "(") (binary_expression "(uVar6 & 0x100) == 0" (parenthesized_expression "(uVar6 & 0x100)" (( "(") (binary_expression "uVar6 & 0x100" (identifier "uVar6") (& "&") (number_literal "0x100")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";")))) (labeled_statement "LAB_0001be45:\n    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" (statement_identifier "LAB_0001be45") (: ":") (if_statement "if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" (if "if") (parenthesized_expression "(((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0))" (( "(") (binary_expression "((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)" (parenthesized_expression "((uVar6 & 0x200) != 0)" (( "(") (binary_expression "(uVar6 & 0x200) != 0" (parenthesized_expression "(uVar6 & 0x200)" (( "(") (binary_expression "uVar6 & 0x200" (identifier "uVar6") (& "&") (number_literal "0x200")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)" (( "(") (comma_expression "piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0" (assignment_expression "piVar14 = (int *)puVar11[0x22]" (identifier "piVar14") (= "=") (cast_expression "(int *)puVar11[0x22]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]")))) (, ",") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;\n      iVar7 = FUN_000177a0();\n      if (iVar7 != 1) goto LAB_0001bf08;\n    }" ({ "{") (if_statement "if ((uVar6 & 4) != 0) {\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" (if "if") (parenthesized_expression "((uVar6 & 4) != 0)" (( "(") (binary_expression "(uVar6 & 4) != 0" (parenthesized_expression "(uVar6 & 4)" (( "(") (binary_expression "uVar6 & 4" (identifier "uVar6") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc33f" (identifier "iVar8") (+ "+") (number_literal "0xc33f"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1be74" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1be74")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1bfdf" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bfdf")) (; ";")) (expression_statement "iVar7 = FUN_000177a0();" (assignment_expression "iVar7 = FUN_000177a0()" (identifier "iVar7") (= "=") (call_expression "FUN_000177a0()" (identifier "FUN_000177a0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 != 1) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(iVar7 != 1)" (( "(") (binary_expression "iVar7 != 1" (identifier "iVar7") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (} "}")))) (} "}"))) (expression_statement "*(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;" (assignment_expression "*(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10" (pointer_expression "*(uint *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(uint *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10" (parenthesized_expression "(-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8)" (( "(") (binary_expression "-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8" (unary_expression "-(uint)((uVar6 & 0x10) == 0)" (- "-") (call_expression "(uint)((uVar6 & 0x10) == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar6 & 0x10) == 0)" (( "(") (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" (( "(") (binary_expression "uVar6 & 0x10" (identifier "uVar6") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xfffffff8")) () ")")) (+ "+") (number_literal "10"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c098" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c098")) (; ";")) (expression_statement "iVar7 = FUN_0001e440();" (assignment_expression "iVar7 = FUN_0001e440()" (identifier "iVar7") (= "=") (call_expression "FUN_0001e440()" (identifier "FUN_0001e440") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + 0x10) = iVar7;" (assignment_expression "*(int *)((int)puVar9 + 0x10) = iVar7" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (iVar7 != -1) {\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }" (if "if") (parenthesized_expression "(iVar7 != -1)" (( "(") (binary_expression "iVar7 != -1" (identifier "iVar7") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }\n    uVar6 = puVar11[0x3d];\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;\n    if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);\n    *(undefined4 *)((int)puVar9 + -0x10) = 4;\n    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);\n    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;\n    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;\n    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;\n    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));\n    if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }\n    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);\n    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);\n    goto LAB_0001c127;\n  }" ({ "{") (if_statement "if (puVar11[0x33] == 0) {\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }\n    else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" (if "if") (parenthesized_expression "(puVar11[0x33] == 0)" (( "(") (binary_expression "puVar11[0x33] == 0" (subscript_expression "puVar11[0x33]" (identifier "puVar11") ([ "[") (number_literal "0x33") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }\n    }" ({ "{") (labeled_statement "LAB_0001c5b0:\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;" (statement_identifier "LAB_0001c5b0") (: ":") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";"))) (expression_statement "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);" (assignment_expression "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30)" (pointer_expression "*(undefined1 **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)puVar9 + 0x30)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x30)" (( "(") (binary_expression "(int)puVar9 + 0x30" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c5c7")) (; ";")) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "setsockopt") (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (, ",") (pointer_expression "*(void **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (, ",") (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "socklen_t *" (type_identifier "socklen_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;\n        FUN_0001cf70();\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c5d7" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c5d7")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c5e1")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb311" (identifier "iVar8") (+ "+") (number_literal "0xb311"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c5f2")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" (else "else") (if_statement "if (0 < (int)puVar11[0x33]) {\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" (if "if") (parenthesized_expression "(0 < (int)puVar11[0x33])" (( "(") (binary_expression "0 < (int)puVar11[0x33]" (number_literal "0") (< "<") (cast_expression "(int)puVar11[0x33]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar11[0x33]" (identifier "puVar11") ([ "[") (number_literal "0x33") (] "]")))) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      piVar23 = (int *)((int)puVar9 + 0x30);\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 2;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(int **)((int)puVar9 + -0x14) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 1;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar23 = (int *)((int)puVar9 + 0x30);" (assignment_expression "piVar23 = (int *)((int)puVar9 + 0x30)" (identifier "piVar23") (= "=") (cast_expression "(int *)((int)puVar9 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x30)" (( "(") (binary_expression "(int)puVar9 + 0x30" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x14) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x14) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c707" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c707")) (; ";")) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "setsockopt") (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (, ",") (pointer_expression "*(void **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (, ",") (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "socklen_t *" (type_identifier "socklen_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;\n        FUN_0001cf70();\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb9d" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cb9d")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cba7")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb311" (identifier "iVar8") (+ "+") (number_literal "0xb311"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cbb8")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x14) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x14) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0xf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0xf" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0xf")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c725" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c725")) (; ";")) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "setsockopt") (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (, ",") (pointer_expression "*(void **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (, ",") (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "socklen_t *" (type_identifier "socklen_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;\n        FUN_0001cf70();\n        goto LAB_0001bf08;\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c735;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c735" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c735")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c73f")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb311" (identifier "iVar8") (+ "+") (number_literal "0xb311"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c750" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c750")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";")) (} "}"))) (} "}"))))) (expression_statement "uVar6 = puVar11[0x3d];" (assignment_expression "uVar6 = puVar11[0x3d]" (identifier "uVar6") (= "=") (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]"))) (; ";")) (expression_statement "puVar15 = *(undefined1 **)((int)puVar9 + 0x34);" (assignment_expression "puVar15 = *(undefined1 **)((int)puVar9 + 0x34)" (identifier "puVar15") (= "=") (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x34)" (( "(") (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (if_statement "if ((uVar6 & 0x10) == 0) goto LAB_0001c698;" (if "if") (parenthesized_expression "((uVar6 & 0x10) == 0)" (( "(") (binary_expression "(uVar6 & 0x10) == 0" (parenthesized_expression "(uVar6 & 0x10)" (( "(") (binary_expression "uVar6 & 0x10" (identifier "uVar6") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c698;" (goto "goto") (statement_identifier "LAB_0001c698") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x1c;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x1c" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x38)" (( "(") (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0x1c")) (; ";")) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" (if "if") (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar15 == (undefined1 *)0x0" (identifier "puVar15") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      piVar23 = (int *)((int)puVar9 + 0x54);\n      uVar16 = 0;\n      do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);\n      *(undefined4 *)((int)puVar9 + 0x58) = 0;\n      *(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      *(undefined2 *)((int)puVar9 + 0x50) = 10;\n      *(undefined4 *)((int)puVar9 + 0x5c) = 0;\n      *(undefined4 *)((int)puVar9 + 0x60) = 0;\n      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);\n      *(undefined4 *)((int)puVar9 + 100) = 0;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" ({ "{") (expression_statement "piVar23 = (int *)((int)puVar9 + 0x54);" (assignment_expression "piVar23 = (int *)((int)puVar9 + 0x54)" (identifier "piVar23") (= "=") (cast_expression "(int *)((int)puVar9 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x54)" (( "(") (binary_expression "(int)puVar9 + 0x54" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x54")) () ")")))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      } while (uVar16 < 0x18);" (do "do") (compound_statement "{\n        *(undefined4 *)((int)piVar23 + uVar16) = 0;\n        uVar16 = uVar16 + 4;\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar23 + uVar16) = 0;" (assignment_expression "*(undefined4 *)((int)piVar23 + uVar16) = 0" (pointer_expression "*(undefined4 *)((int)piVar23 + uVar16)" (* "*") (cast_expression "(undefined4 *)((int)piVar23 + uVar16)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar23 + uVar16)" (( "(") (binary_expression "(int)piVar23 + uVar16" (cast_expression "(int)piVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar23")) (+ "+") (identifier "uVar16")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar16 = uVar16 + 4;" (assignment_expression "uVar16 = uVar16 + 4" (identifier "uVar16") (= "=") (binary_expression "uVar16 + 4" (identifier "uVar16") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar16 < 0x18)" (( "(") (binary_expression "uVar16 < 0x18" (identifier "uVar16") (< "<") (number_literal "0x18")) () ")")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 0x58) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x58) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x58)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x58)" (( "(") (binary_expression "(int)puVar9 + 0x58" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar9 + 0x52) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x52)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0x52)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x52)" (( "(") (binary_expression "(int)puVar9 + 0x52" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x52")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")")))) (>> ">>") (number_literal "8")) (| "|") (binary_expression "*(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")")))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "*(undefined2 *)((int)puVar9 + 0x50) = 10;" (assignment_expression "*(undefined2 *)((int)puVar9 + 0x50) = 10" (pointer_expression "*(undefined2 *)((int)puVar9 + 0x50)" (* "*") (cast_expression "(undefined2 *)((int)puVar9 + 0x50)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x50)" (( "(") (binary_expression "(int)puVar9 + 0x50" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x50")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 0x5c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x5c) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x5c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x5c)" (( "(") (binary_expression "(int)puVar9 + 0x5c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 0x60) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x60) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x60)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x60)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x60)" (( "(") (binary_expression "(int)puVar9 + 0x60" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x60")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);" (assignment_expression "*(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50)" (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x34)" (( "(") (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)puVar9 + 0x50)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x50)" (( "(") (binary_expression "(int)puVar9 + 0x50" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x50")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 100) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 100) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 100)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 100)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 100)" (( "(") (binary_expression "(int)puVar9 + 100" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "100")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" (identifier "puVar11") ([ "[") (number_literal "0x32") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" (else "else") (compound_statement "{\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" ({ "{") (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" (identifier "puVar11") ([ "[") (number_literal "0x32") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);" (assignment_expression "*(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810)" (pointer_expression "*(uint *)((int)puVar9 + 0x3c)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x3c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x3c)" (( "(") (binary_expression "(int)puVar9 + 0x3c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (call_expression "(uint)((uVar6 & 0x810) != 0x810)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar6 & 0x810) != 0x810)" (( "(") (binary_expression "(uVar6 & 0x810) != 0x810" (parenthesized_expression "(uVar6 & 0x810)" (( "(") (binary_expression "uVar6 & 0x810" (identifier "uVar6") (& "&") (number_literal "0x810")) () ")")) (!= "!=") (number_literal "0x810")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);" (assignment_expression "*(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c)" (pointer_expression "*(undefined1 **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)puVar9 + 0x3c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x3c)" (( "(") (binary_expression "(int)puVar9 + 0x3c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x3c")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0x1a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0x1a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1a")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 0x29;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 0x29" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x29")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c114" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c114")) (; ";")) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" (identifier "setsockopt") (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                       *(socklen_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (, ",") (pointer_expression "*(void **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (, ",") (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "socklen_t *" (type_identifier "socklen_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 < 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }" (if "if") (parenthesized_expression "(iVar7 < 0)" (( "(") (binary_expression "iVar7 < 0" (identifier "iVar7") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;\n      FUN_0001cf70();\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb75;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb75" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cb75")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cb7f")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb311" (identifier "iVar8") (+ "+") (number_literal "0xb311"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cb90")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x38);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x38)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x38)" (( "(") (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar15 = *(undefined1 **)((int)puVar9 + 0x34);" (assignment_expression "puVar15 = *(undefined1 **)((int)puVar9 + 0x34)" (identifier "puVar15") (= "=") (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x34)" (( "(") (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001c127;" (goto "goto") (statement_identifier "LAB_0001c127") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c765;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c765" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c765")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c76f")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc21f" (identifier "iVar8") (+ "+") (number_literal "0xc21f"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c780" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c780")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001bf08:\n  if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" (statement_identifier "LAB_0001bf08") (: ":") (if_statement "if (puVar11[0x34] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" (if "if") (parenthesized_expression "(puVar11[0x34] != -1)" (( "(") (binary_expression "puVar11[0x34] != -1" (subscript_expression "puVar11[0x34]" (identifier "puVar11") ([ "[") (number_literal "0x34") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;\n    close(*(int *)((int)puVar9 + -0x10));\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar11[0x34]" (identifier "puVar11") ([ "[") (number_literal "0x34") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bf1c")) (; ";")) (expression_statement "close(*(int *)((int)puVar9 + -0x10));" (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar11[0x41]" (identifier "puVar11") ([ "[") (number_literal "0x41") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bf2d")) (; ";")) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x14)" (( "(") (binary_expression "(int)puVar9 + 0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bf37")) (; ";")) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;\n    (*pcVar3)();\n    goto LAB_0001ccae;\n  }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2e1" (identifier "iVar8") (+ "+") (number_literal "0xb2e1"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19e2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19e2" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x19e2")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ccae")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001ccae;" (goto "goto") (statement_identifier "LAB_0001ccae") (; ";")) (} "}"))) (if_statement "if (puVar11[0x36] != -1) {\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }" (if "if") (parenthesized_expression "(puVar11[0x36] != -1)" (( "(") (binary_expression "puVar11[0x36] != -1" (subscript_expression "puVar11[0x36]" (identifier "puVar11") ([ "[") (number_literal "0x36") (] "]")) (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar11[0x36]" (identifier "puVar11") ([ "[") (number_literal "0x36") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bf56")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;\n      piVar5 = __errno_location();\n      if (*piVar5 == 9) goto LAB_0001c5fa;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1bf62;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1bf62" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1bf62")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 == 9) goto LAB_0001c5fa;" (if "if") (parenthesized_expression "(*piVar5 == 9)" (( "(") (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001c5fa;" (goto "goto") (statement_identifier "LAB_0001c5fa") (; ";"))) (} "}"))) (} "}"))) (goto_statement "goto LAB_0001bf6b;" (goto "goto") (statement_identifier "LAB_0001bf6b") (; ";")) (labeled_statement "LAB_0001c5fa:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (statement_identifier "LAB_0001c5fa") (: ":") (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2c9" (identifier "iVar8") (+ "+") (number_literal "0xb2c9"))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19f0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19f0" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x19f0")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c619" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c619")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (do_statement "do {\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  } while (iVar7 != 0);" (do "do") (compound_statement "{\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar17 = puVar9;\n    if (iVar7 != 0) goto LAB_0001cd49;\n    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001bf08;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;\n    piVar5 = __errno_location();\n    if (*piVar5 != 9) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1911;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;\n    puVar15 = (undefined1 *)(*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;\n    if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\nLAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;\n    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;\n    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));\n    if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }\n    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }\n    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;\n    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n    if (-1 < iVar7) goto LAB_0001bdf8;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;\n    piVar23 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;\n    FUN_0001cf70();\n    piVar14 = *(int **)((int)puVar9 + -0x10);\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n    *(undefined4 *)((int)puVar9 + -8) = 0x186b;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;\n    (*pcVar3)();\n    puVar9 = (undefined4 *)((int)puVar9 + -0x10);\nLAB_0001c200:\n    piVar23 = puVar11 + 0x2b;\n    *(undefined4 *)((int)puVar9 + -0xc) = 0;\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;\n    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n  }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc38f" (identifier "iVar8") (+ "+") (number_literal "0xc38f"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c630" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c630")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c638" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c638")) (; ";")) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar17 = puVar9;" (assignment_expression "puVar17 = puVar9" (identifier "puVar17") (= "=") (identifier "puVar9")) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0001cd49;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cd49;" (goto "goto") (statement_identifier "LAB_0001cd49") (; ";"))) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10)" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c659" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c659")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c669;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c669" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c669")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1911;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1911" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1911")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c691" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c691")) (; ";")) (expression_statement "puVar15 = (undefined1 *)(*pcVar3)();" (assignment_expression "puVar15 = (undefined1 *)(*pcVar3)()" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)(*pcVar3)()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (labeled_statement "LAB_0001c698:\n    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;" (statement_identifier "LAB_0001c698") (: ":") (expression_statement "*(undefined4 *)((int)puVar9 + 0x38) = 0x10;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x38) = 0x10" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x38)" (( "(") (binary_expression "(int)puVar9 + 0x38" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0x10")) (; ";"))) (if_statement "if (puVar15 == (undefined1 *)0x0) {\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }\n    else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" (if "if") (parenthesized_expression "(puVar15 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar15 == (undefined1 *)0x0" (identifier "puVar15") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar15 = (undefined1 *)((int)puVar9 + 0x40);\n      *(undefined2 *)((int)puVar9 + 0x40) = 2;\n      *(undefined4 *)((int)puVar9 + 0x44) = 0;\n      *(undefined4 *)((int)puVar9 + 0x48) = 0;\n      *(undefined4 *)((int)puVar9 + 0x4c) = 0;\n      *(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;\n      uVar18 = 0x10;\n      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" ({ "{") (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + 0x40);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + 0x40)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar9 + 0x40)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x40)" (( "(") (binary_expression "(int)puVar9 + 0x40" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x40")) () ")")))) (; ";")) (expression_statement "*(undefined2 *)((int)puVar9 + 0x40) = 2;" (assignment_expression "*(undefined2 *)((int)puVar9 + 0x40) = 2" (pointer_expression "*(undefined2 *)((int)puVar9 + 0x40)" (* "*") (cast_expression "(undefined2 *)((int)puVar9 + 0x40)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x40)" (( "(") (binary_expression "(int)puVar9 + 0x40" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 0x44) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x44) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x44)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x44)" (( "(") (binary_expression "(int)puVar9 + 0x44" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 0x48) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x48) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x48)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x48)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x48)" (( "(") (binary_expression "(int)puVar9 + 0x48" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x48")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + 0x4c) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x4c) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x4c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x4c)" (( "(") (binary_expression "(int)puVar9 + 0x4c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;" (assignment_expression "*(ushort *)((int)puVar9 + 0x42) =\n           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0x42)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0x42)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x42)" (( "(") (binary_expression "(int)puVar9 + 0x42" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x42")) () ")")))) (= "=") (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8" (binary_expression "*(ushort *)((int)puVar9 + 0xc) >> 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")")))) (>> ">>") (number_literal "8")) (| "|") (binary_expression "*(ushort *)((int)puVar9 + 0xc) << 8" (pointer_expression "*(ushort *)((int)puVar9 + 0xc)" (* "*") (cast_expression "(ushort *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")")))) (<< "<<") (number_literal "8")))) (; ";")) (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" (identifier "uVar18") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar9 + 0x34) = puVar15;" (assignment_expression "*(undefined1 **)((int)puVar9 + 0x34) = puVar15" (pointer_expression "*(undefined1 **)((int)puVar9 + 0x34)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + 0x34)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x34)" (( "(") (binary_expression "(int)puVar9 + 0x34" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" (identifier "puVar11") ([ "[") (number_literal "0x32") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" (else "else") (compound_statement "{\n      uVar18 = 0x10;\n      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);\n    }" ({ "{") (expression_statement "uVar18 = 0x10;" (assignment_expression "uVar18 = 0x10" (identifier "uVar18") (= "=") (number_literal "0x10")) (; ";")) (expression_statement "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10)" (subscript_expression "puVar11[0x32]" (identifier "puVar11") ([ "[") (number_literal "0x32") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (labeled_statement "LAB_0001c127:\n    *(undefined4 *)((int)puVar9 + -8) = uVar18;" (statement_identifier "LAB_0001c127") (: ":") (expression_statement "*(undefined4 *)((int)puVar9 + -8) = uVar18;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = uVar18" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar18")) (; ";"))) (expression_statement "*(undefined1 **)((int)puVar9 + -0xc) = puVar15;" (assignment_expression "*(undefined1 **)((int)puVar9 + -0xc) = puVar15" (pointer_expression "*(undefined1 **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined1 **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar15")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c135" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c135")) (; ";")) (expression_statement "iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8));" (assignment_expression "iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" (identifier "iVar7") (= "=") (call_expression "bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" (identifier "bind") (argument_list "(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),\n                 *(socklen_t *)((int)puVar9 + -8))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(sockaddr **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(sockaddr **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "sockaddr **" (type_identifier "sockaddr") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(socklen_t *)((int)puVar9 + -8)" (* "*") (cast_expression "(socklen_t *)((int)puVar9 + -8)" (( "(") (type_descriptor "socklen_t *" (type_identifier "socklen_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == -1) {\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;\n      piVar23 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -0x14) = pcVar13;\n      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);\n      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;\n      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x184d;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;\n      (*pcVar3)();\n      puVar9 = (undefined4 *)((int)puVar9 + -0x10);\n      goto LAB_0001c828;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c7c5" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c7c5")) (; ";")) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" (identifier "piVar23") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c7d1")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -0x14) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -0x14) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(char **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);" (assignment_expression "*(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc)" (pointer_expression "*(uint *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(uint *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "(uint)*(ushort *)((int)puVar9 + 0xc)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc24b" (identifier "iVar8") (+ "+") (number_literal "0xc24b"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c7e5")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c7f1")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;" (if "if") (parenthesized_expression "((iVar7 == 0) || (*piVar23 != 9))" (( "(") (binary_expression "(iVar7 == 0) || (*piVar23 != 9)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*piVar23 != 9)" (( "(") (binary_expression "*piVar23 != 9" (pointer_expression "*piVar23" (* "*") (identifier "piVar23")) (!= "!=") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x184d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x184d" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x184d")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c824" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c824")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (goto_statement "goto LAB_0001c828;" (goto "goto") (statement_identifier "LAB_0001c828") (; ";")) (} "}"))) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 0x40)" (( "(") (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 0x40" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" (* "*") (cast_expression "(byte *)((int)puVar11 + 0xf5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + 0xf5)" (( "(") (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "0xf5")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }\n      *(undefined4 *)((int)puVar9 + -0x10) = 4;\n      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;\n      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;\n      *(undefined4 *)((int)puVar9 + -0x1c) = 6;\n      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;\n      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }\n    }" ({ "{") (if_statement "if (puVar11[0x4a] == 0) {\n        puVar11[0x4a] = 10;\n      }" (if "if") (parenthesized_expression "(puVar11[0x4a] == 0)" (( "(") (binary_expression "puVar11[0x4a] == 0" (subscript_expression "puVar11[0x4a]" (identifier "puVar11") ([ "[") (number_literal "0x4a") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        puVar11[0x4a] = 10;\n      }" ({ "{") (expression_statement "puVar11[0x4a] = 10;" (assignment_expression "puVar11[0x4a] = 10" (subscript_expression "puVar11[0x4a]" (identifier "puVar11") ([ "[") (number_literal "0x4a") (] "]")) (= "=") (number_literal "10")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 4" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "puVar11 + 0x4a" (identifier "puVar11") (+ "+") (number_literal "0x4a"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = 0x17;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = 0x17" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x1c) = 6;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x1c) = 6" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "6")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c177" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c177")) (; ";")) (expression_statement "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (identifier "setsockopt") (argument_list "(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),\n                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),\n                         *(socklen_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (, ",") (pointer_expression "*(void **)((int)puVar9 + -0x14)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x14)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (, ",") (pointer_expression "*(socklen_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(socklen_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "socklen_t *" (type_identifier "socklen_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar9 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;\n        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n        *(char **)((int)puVar9 + -8) = pcVar13;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;\n        FUN_0001cf70();\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cb2f" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cb2f")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cb39")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb311" (identifier "iVar8") (+ "+") (number_literal "0xb311"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cb4a")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "puVar11[0x4b]" (identifier "puVar11") ([ "[") (number_literal "0x4b") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c194" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c194")) (; ";")) (expression_statement "iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" (identifier "listen") (argument_list "(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (-1 < iVar7) goto LAB_0001bdf8;" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (goto_statement "goto LAB_0001bdf8;" (goto "goto") (statement_identifier "LAB_0001bdf8") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c1a4" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c1a4")) (; ";")) (expression_statement "piVar23 = __errno_location();" (assignment_expression "piVar23 = __errno_location()" (identifier "piVar23") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar23;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar23" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c1b0")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc26b" (identifier "iVar8") (+ "+") (number_literal "0xc26b"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c1c1")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar14 = *(int **)((int)puVar9 + -0x10);" (assignment_expression "piVar14 = *(int **)((int)puVar9 + -0x10)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c1cb")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;" (if "if") (parenthesized_expression "((iVar7 == 0) || (*piVar23 != 9))" (( "(") (binary_expression "(iVar7 == 0) || (*piVar23 != 9)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*piVar23 != 9)" (( "(") (binary_expression "*piVar23 != 9" (pointer_expression "*piVar23" (* "*") (identifier "piVar23")) (!= "!=") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x186b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x186b" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x186b")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c1fe")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (labeled_statement "LAB_0001c200:\n    piVar23 = puVar11 + 0x2b;" (statement_identifier "LAB_0001c200") (: ":") (expression_statement "piVar23 = puVar11 + 0x2b;" (assignment_expression "piVar23 = puVar11 + 0x2b" (identifier "piVar23") (= "=") (binary_expression "puVar11 + 0x2b" (identifier "puVar11") (+ "+") (number_literal "0x2b"))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c211" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c211")) (; ";")) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "pthread_mutex_init") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "pthread_mutexattr_t **" (type_identifier "pthread_mutexattr_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;" (if "if") (parenthesized_expression "((puVar11[0x3d] & 0x108) != 8)" (( "(") (binary_expression "(puVar11[0x3d] & 0x108) != 8" (parenthesized_expression "(puVar11[0x3d] & 0x108)" (( "(") (binary_expression "puVar11[0x3d] & 0x108" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x108")) () ")")) (!= "!=") (number_literal "8")) () ")")) (goto_statement "goto LAB_0001bf79;" (goto "goto") (statement_identifier "LAB_0001bf79") (; ";"))) (expression_statement "piVar14 = (int *)puVar11[0x22];" (assignment_expression "piVar14 = (int *)puVar11[0x22]" (identifier "piVar14") (= "=") (cast_expression "(int *)puVar11[0x22]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]")))) (; ";")) (if_statement "if (piVar14 == (int *)0x0) {\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }\n  else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar7 = iVar8 + 0xb306;\n    if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n    *(int *)((int)puVar9 + -0x1c) = iVar7;\n    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;\n    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;\n    iVar7 = FUN_0001f380();\n    if (iVar7 != 0) goto LAB_0001bf79;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;\n    piVar14 = __errno_location();\n    *(int *)((int)puVar9 + -0x10) = *piVar14;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;\n    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n    *(char **)((int)puVar9 + -8) = pcVar13;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;\n    puVar20 = (undefined4 *)((int)puVar9 + -0x10);\n    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;\n    FUN_0001cf70();\n    *(int **)((int)puVar9 + -0x10) = piVar23;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;\n    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n    puVar22 = (undefined1 *)puVar9;\n    if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }\nLAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;\n    *(undefined4 *)(puVar22 + -8) = 0x193b;\n    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;\n    puVar9 = (undefined4 *)(puVar22 + -0x10);\n    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;\n    (*pcVar3)();\nLAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;\n    *(undefined4 *)((int)puVar9 + -8) = 0x1977;\n    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n    pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;\n    (*pcVar3)();\n    puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n  }" ({ "{") (expression_statement "iVar7 = iVar8 + 0xb306;" (assignment_expression "iVar7 = iVar8 + 0xb306" (identifier "iVar7") (= "=") (binary_expression "iVar8 + 0xb306" (identifier "iVar8") (+ "+") (number_literal "0xb306"))) (; ";")) (if_statement "if ((puVar11[0x3d] & 4) != 0) {\n      iVar7 = iVar8 + 0xb2fb;\n    }" (if "if") (parenthesized_expression "((puVar11[0x3d] & 4) != 0)" (( "(") (binary_expression "(puVar11[0x3d] & 4) != 0" (parenthesized_expression "(puVar11[0x3d] & 4)" (( "(") (binary_expression "puVar11[0x3d] & 4" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar7 = iVar8 + 0xb2fb;\n    }" ({ "{") (expression_statement "iVar7 = iVar8 + 0xb2fb;" (assignment_expression "iVar7 = iVar8 + 0xb2fb" (identifier "iVar7") (= "=") (binary_expression "iVar8 + 0xb2fb" (identifier "iVar8") (+ "+") (number_literal "0xb2fb"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "iVar8 + -0x8d9" (identifier "iVar8") (+ "+") (number_literal "-0x8d9"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "puVar11[0x21]" (identifier "puVar11") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar7;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar7" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "puVar11 + 0x23" (identifier "puVar11") (+ "+") (number_literal "0x23"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c270" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c270")) (; ";")) (expression_statement "iVar7 = FUN_0001f380();" (assignment_expression "iVar7 = FUN_0001f380()" (identifier "iVar7") (= "=") (call_expression "FUN_0001f380()" (identifier "FUN_0001f380") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0001bf79;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001bf79;" (goto "goto") (statement_identifier "LAB_0001bf79") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c280;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c280" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c280")) (; ";")) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" (identifier "piVar14") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar14;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar14" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c28c")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc3c7" (identifier "iVar8") (+ "+") (number_literal "0xc3c7"))) (; ";")) (expression_statement "puVar20 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar20 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar20") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c29d")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c2a5")) (; ";")) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar22 = (undefined1 *)puVar9;" (assignment_expression "puVar22 = (undefined1 *)puVar9" (identifier "puVar22") (= "=") (cast_expression "(undefined1 *)puVar9" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (; ";")) (if_statement "if (iVar7 == 0) {\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) goto LAB_0001cd2a;\n      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;\n      iVar7 = close(*(int *)((int)puVar9 + -0x10));\n      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;\n      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;\n      *(undefined4 *)((int)puVar9 + -8) = 0x193e;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;\n      (*pcVar3)();\nLAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;\n      *(undefined4 *)((int)puVar20 + -0x10) = 0;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;\n      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));\n      puVar11[0x36] = iVar7;\n      if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }\n      puVar9 = puVar20;\n      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;\n      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;\n      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;\n      FUN_0001cf70();\n      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];\n      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;\n      iVar7 = close(*(int *)((int)puVar20 + -0x10));\n      if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }\nLAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      puVar11 = (undefined4 *)0x0;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;\n      free(*(void **)((int)puVar9 + -0x10));\n      goto LAB_0001bf79;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c2bc")) (; ";")) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0001cd2a;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cd2a;" (goto "goto") (statement_identifier "LAB_0001cd2a") (; ";"))) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;" (if "if") (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10)" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c2dd")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;" (if "if") (parenthesized_expression "((iVar7 == 0) || (*piVar14 != 9))" (( "(") (binary_expression "(iVar7 == 0) || (*piVar14 != 9)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*piVar14 != 9)" (( "(") (binary_expression "*piVar14 != 9" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (!= "!=") (number_literal "9")) () ")"))) () ")")) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";"))) (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x193e;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x193e" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x193e")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c310" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c310")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001c310:\n      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;" (statement_identifier "LAB_0001c310") (: ":") (expression_statement "*(undefined4 *)((int)puVar20 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar20 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0xc)" (( "(") (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x80800")) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x14)" (( "(") (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c31f")) (; ";")) (expression_statement "iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));" (assignment_expression "iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" (identifier "iVar7") (= "=") (call_expression "eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" (identifier "eventfd") (argument_list "(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc))" (( "(") (pointer_expression "*(int *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar20 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0xc)" (( "(") (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar11[0x36] = iVar7;" (assignment_expression "puVar11[0x36] = iVar7" (subscript_expression "puVar11[0x36]" (identifier "puVar11") ([ "[") (number_literal "0x36") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (iVar7 == -1) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;\n        piVar5 = __errno_location();\n        *(int *)((int)puVar20 + -0x10) = *piVar5;\n        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;\n        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));\n        puVar21 = (undefined1 *)((int)puVar20 + -8);\n        *(char **)((int)puVar20 + -8) = pcVar13;\n        iVar8 = iVar8 + 0xc0c7;\n        goto LAB_0001c3a9;\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;" (assignment_expression "*(undefined4 *)((int)puVar20 + -4) = 0x1cbc5" (pointer_expression "*(undefined4 *)((int)puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -4)" (( "(") (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cbc5")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar20 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar20 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x14)" (( "(") (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cbcf")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar20 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar20 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar21 = (undefined1 *)((int)puVar20 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar20 + -8)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)((int)puVar20 + -8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -8)" (( "(") (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar20 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar20 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar20 + -8)" (* "*") (cast_expression "(char **)((int)puVar20 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar20 + -8)" (( "(") (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "iVar8 = iVar8 + 0xc0c7;" (assignment_expression "iVar8 = iVar8 + 0xc0c7" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 0xc0c7" (identifier "iVar8") (+ "+") (number_literal "0xc0c7"))) (; ";")) (goto_statement "goto LAB_0001c3a9;" (goto "goto") (statement_identifier "LAB_0001c3a9") (; ";")) (} "}"))) (expression_statement "puVar9 = puVar20;" (assignment_expression "puVar9 = puVar20" (identifier "puVar9") (= "=") (identifier "puVar20")) (; ";")) (if_statement "if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;" (if "if") (parenthesized_expression "(((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400))" (( "(") (binary_expression "((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)" (parenthesized_expression "((puVar11[0x3d] & 0x240) != 0)" (( "(") (binary_expression "(puVar11[0x3d] & 0x240) != 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" (( "(") (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x240")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 < 0x400)" (( "(") (binary_expression "iVar7 < 0x400" (identifier "iVar7") (< "<") (number_literal "0x400")) () ")"))) () ")")) (goto_statement "goto LAB_0001bd6c;" (goto "goto") (statement_identifier "LAB_0001bd6c") (; ";"))) (expression_statement "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;" (assignment_expression "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103" (pointer_expression "*(int *)((int)puVar20 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0xc)" (( "(") (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc103" (identifier "iVar8") (+ "+") (number_literal "0xc103"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar20 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar20 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x14)" (( "(") (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c35c")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36]" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar11[0x36]" (identifier "puVar11") ([ "[") (number_literal "0x36") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c368" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x14)" (( "(") (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c368")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar20 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar20 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar20 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar20 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;\n        piVar5 = __errno_location();\n        if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar20 + -4) = 0x1c378;" (assignment_expression "*(undefined4 *)((int)puVar20 + -4) = 0x1c378" (pointer_expression "*(undefined4 *)((int)puVar20 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -4)" (( "(") (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c378")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 == 9) {\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }" (if "if") (parenthesized_expression "(*piVar5 == 9)" (( "(") (binary_expression "*piVar5 == 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "9")) () ")")) (compound_statement "{\n          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;\n          *(undefined4 *)((int)puVar20 + -8) = 0x172d;\n          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;\n          puVar9 = (undefined4 *)((int)puVar20 + -0x10);\n          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n          pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;\n          (*pcVar3)();\nLAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;\n          puVar21 = (undefined1 *)((int)puVar9 + -8);\nLAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;\n          FUN_0001cf70();\n          *(undefined4 **)(puVar21 + -8) = puVar11;\n          puVar11 = (undefined4 *)0x0;\n          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;\n          free(*(void **)(puVar21 + -8));\n          puVar9 = (undefined4 *)(puVar21 + 8);\n          goto LAB_0001bf79;\n        }" ({ "{") (expression_statement "*(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar20 + -4)" (* "*") (cast_expression "(int *)((int)puVar20 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -4)" (( "(") (binary_expression "(int)puVar20 + -4" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2c9" (identifier "iVar8") (+ "+") (number_literal "0xb2c9"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -8) = 0x172d;" (assignment_expression "*(undefined4 *)((int)puVar20 + -8) = 0x172d" (pointer_expression "*(undefined4 *)((int)puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -8)" (( "(") (binary_expression "(int)puVar20 + -8" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x172d")) (; ";")) (expression_statement "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar20 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar20 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0xc)" (( "(") (binary_expression "(int)puVar20 + -0xc" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)((int)puVar20 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)((int)puVar20 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x10)" (( "(") (binary_expression "(int)puVar20 + -0x10" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;" (assignment_expression "*(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0" (pointer_expression "*(undefined4 *)((int)puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar20 + -0x14)" (( "(") (binary_expression "(int)puVar20 + -0x14" (cast_expression "(int)puVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar20")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c3a0")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001c3a0:\n          iVar8 = iVar8 + 0xc153;" (statement_identifier "LAB_0001c3a0") (: ":") (expression_statement "iVar8 = iVar8 + 0xc153;" (assignment_expression "iVar8 = iVar8 + 0xc153" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 0xc153" (identifier "iVar8") (+ "+") (number_literal "0xc153"))) (; ";"))) (expression_statement "puVar21 = (undefined1 *)((int)puVar9 + -8);" (assignment_expression "puVar21 = (undefined1 *)((int)puVar9 + -8)" (identifier "puVar21") (= "=") (cast_expression "(undefined1 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (labeled_statement "LAB_0001c3a9:\n          *(int *)(puVar21 + -4) = iVar8;" (statement_identifier "LAB_0001c3a9") (: ":") (expression_statement "*(int *)(puVar21 + -4) = iVar8;" (assignment_expression "*(int *)(puVar21 + -4) = iVar8" (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")) () ")")))) (= "=") (identifier "iVar8")) (; ";"))) (expression_statement "*(undefined4 **)(puVar21 + -8) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -8) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 **)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 0x1c3b0" (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 "0x1c3b0")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 **)(puVar21 + -8) = puVar11;" (assignment_expression "*(undefined4 **)(puVar21 + -8) = puVar11" (pointer_expression "*(undefined4 **)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 **)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;" (assignment_expression "*(undefined4 *)(puVar21 + -0xc) = 0x1c3ba" (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 "0x1c3ba")) (; ";")) (expression_statement "free(*(void **)(puVar21 + -8));" (call_expression "free(*(void **)(puVar21 + -8))" (identifier "free") (argument_list "(*(void **)(puVar21 + -8))" (( "(") (pointer_expression "*(void **)(puVar21 + -8)" (* "*") (cast_expression "(void **)(puVar21 + -8)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(puVar21 + 8);" (assignment_expression "puVar9 = (undefined4 *)(puVar21 + 8)" (identifier "puVar9") (= "=") (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")) () ")")))) (; ";")) (goto_statement "goto LAB_0001bf79;" (goto "goto") (statement_identifier "LAB_0001bf79") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0001bf6b:\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (statement_identifier "LAB_0001bf6b") (: ":") (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";"))) (expression_statement "puVar11 = (undefined4 *)0x0;" (assignment_expression "puVar11 = (undefined4 *)0x0" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bf76")) (; ";")) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (goto_statement "goto LAB_0001bf79;" (goto "goto") (statement_identifier "LAB_0001bf79") (; ";")) (} "}"))) (labeled_statement "LAB_0001cccd:\n    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;" (statement_identifier "LAB_0001cccd") (: ":") (expression_statement "*(int *)(puVar22 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar22 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar22 + -4)" (* "*") (cast_expression "(int *)(puVar22 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -4)" (( "(") (binary_expression "puVar22 + -4" (identifier "puVar22") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2e1" (identifier "iVar8") (+ "+") (number_literal "0xb2e1"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar22 + -8) = 0x193b;" (assignment_expression "*(undefined4 *)(puVar22 + -8) = 0x193b" (pointer_expression "*(undefined4 *)(puVar22 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -8)" (( "(") (binary_expression "puVar22 + -8" (identifier "puVar22") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x193b")) (; ";")) (expression_statement "*(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar22 + -0xc)" (* "*") (cast_expression "(int *)(puVar22 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0xc)" (( "(") (binary_expression "puVar22 + -0xc" (identifier "puVar22") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(puVar22 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)(puVar22 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar22 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar22 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + -0x10)" (( "(") (binary_expression "puVar22 + -0x10" (identifier "puVar22") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar22 + -0x14) = 0x1ccec;" (assignment_expression "*(undefined4 *)(puVar22 + -0x14) = 0x1ccec" (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 "0x1ccec")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001ccec:\n    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (statement_identifier "LAB_0001ccec") (: ":") (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2c9" (identifier "iVar8") (+ "+") (number_literal "0xb2c9"))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x1977;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x1977" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x1977")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cd0b")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (} "}")) (else_clause "else {\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" (else "else") (compound_statement "{\nLAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];\n    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;\n    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));\n    puVar11[0x1d] = pvVar12;\n    if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }\n    if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }\n    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);\n    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;\n    iVar7 = close(*(int *)((int)puVar9 + -0x10));\n    if (iVar7 == 0) goto LAB_0001ca3b;\n    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;\n    piVar5 = __errno_location();\n    puVar15 = (undefined1 *)puVar9;\n    if (*piVar5 != 9) goto LAB_0001ca3b;\n  }" ({ "{") (labeled_statement "LAB_0001c828:\n    piVar23 = (int *)puVar11[0x3a];" (statement_identifier "LAB_0001c828") (: ":") (expression_statement "piVar23 = (int *)puVar11[0x3a];" (assignment_expression "piVar23 = (int *)puVar11[0x3a]" (identifier "piVar23") (= "=") (cast_expression "(int *)puVar11[0x3a]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0x3a]" (identifier "puVar11") ([ "[") (number_literal "0x3a") (] "]")))) (; ";"))) (expression_statement "*(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "(int)piVar14 * 0x130" (cast_expression "(int)piVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar14")) (* "*") (number_literal "0x130"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c83d")) (; ";")) (expression_statement "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));" (assignment_expression "pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10))" (identifier "pvVar12") (= "=") (call_expression "malloc(*(size_t *)((int)puVar9 + -0x10))" (identifier "malloc") (argument_list "(*(size_t *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(size_t *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(size_t *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar11[0x1d] = pvVar12;" (assignment_expression "puVar11[0x1d] = pvVar12" (subscript_expression "puVar11[0x1d]" (identifier "puVar11") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (identifier "pvVar12")) (; ";")) (if_statement "if (pvVar12 != (void *)0x0) {\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }" (if "if") (parenthesized_expression "(pvVar12 != (void *)0x0)" (( "(") (binary_expression "pvVar12 != (void *)0x0" (identifier "pvVar12") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar9 + 0x18) = 0;\n      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;\n      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;\n      while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }\n      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;\n      piVar5 = __errno_location();\n      *(int *)((int)puVar9 + -0x10) = *piVar5;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;\n      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n      *(char **)((int)puVar9 + -8) = pcVar13;\n      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;\n      puVar15 = (undefined1 *)((int)puVar9 + -0x10);\n      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;\n      FUN_0001cf70();\n      *(int **)((int)puVar9 + -0x10) = piVar23;\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }\nLAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + 0x18) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + 0x18) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x18)" (( "(") (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;" (assignment_expression "*(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14" (pointer_expression "*(uint *)((int)puVar9 + 0x24)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x24)" (( "(") (binary_expression "(int)puVar9 + 0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (binary_expression "(uint)piVar23 / (uint)piVar14" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (/ "/") (cast_expression "(uint)piVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar14")))) (; ";")) (expression_statement "*(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;" (assignment_expression "*(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14" (pointer_expression "*(uint *)((int)puVar9 + 0x28)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x28)" (( "(") (binary_expression "(int)puVar9 + 0x28" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "(uint)piVar23 % (uint)piVar14" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (% "%") (cast_expression "(uint)piVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar14")))) (; ";")) (expression_statement "*(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;" (assignment_expression "*(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1" (pointer_expression "*(uint *)((int)puVar9 + 0x2c)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x2c)" (( "(") (binary_expression "(int)puVar9 + 0x2c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "(uint)piVar23 / (uint)piVar14 + 1" (binary_expression "(uint)piVar23 / (uint)piVar14" (cast_expression "(uint)piVar23" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar23")) (/ "/") (cast_expression "(uint)piVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "piVar14"))) (+ "+") (number_literal "1"))) (; ";")) (while_statement "while( true ) {\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));\n        *puVar17 = *puVar11;\n        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);\n        puVar17[0x4b] = puVar11[0x4b];\n        piVar23 = (int *)((int)puVar11 - iVar7);\n        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);\n        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }\n        puVar17[0x1c] = puVar11;\n        puVar17[0x22] = 0;\n        puVar17[0x1d] = 0;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }\n        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);\n        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }\n        puVar17[0x3a] = uVar18;\n        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }\n        piVar23 = puVar17 + 0x2b;\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0xc) = 0;\n        *(int **)((int)puVar9 + -0x10) = piVar23;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;\n        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        puVar15 = (undefined1 *)puVar9;\n        if (iVar7 != 0) goto LAB_0001cc38;\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;\n        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;\n        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];\n        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;\n        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;\n        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;\n        iVar7 = FUN_0001f380();\n        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n        if (iVar7 == 0) break;\n        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;\n        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;\n        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;\n        pvVar12 = (void *)puVar11[0x1d];\n      }" ({ "{") (expression_statement "puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));" (assignment_expression "puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pvVar12 + *(int *)((int)puVar9 + 0x18))" (( "(") (binary_expression "(int)pvVar12 + *(int *)((int)puVar9 + 0x18)" (cast_expression "(int)pvVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pvVar12")) (+ "+") (pointer_expression "*(int *)((int)puVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x18)" (( "(") (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")))) (; ";")) (expression_statement "*puVar17 = *puVar11;" (assignment_expression "*puVar17 = *puVar11" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (pointer_expression "*puVar11" (* "*") (identifier "puVar11"))) (; ";")) (expression_statement "iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);" (assignment_expression "iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc)" (identifier "iVar7") (= "=") (binary_expression "(int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc)" (cast_expression "(int)puVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar17")) (- "-") (cast_expression "(int)((uint)(puVar17 + 1) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(puVar17 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar17 + 1) & 0xfffffffc" (call_expression "(uint)(puVar17 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17 + 1)" (( "(") (binary_expression "puVar17 + 1" (identifier "puVar17") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "puVar17[0x4b] = puVar11[0x4b];" (assignment_expression "puVar17[0x4b] = puVar11[0x4b]" (subscript_expression "puVar17[0x4b]" (identifier "puVar17") ([ "[") (number_literal "0x4b") (] "]")) (= "=") (subscript_expression "puVar11[0x4b]" (identifier "puVar11") ([ "[") (number_literal "0x4b") (] "]"))) (; ";")) (expression_statement "piVar23 = (int *)((int)puVar11 - iVar7);" (assignment_expression "piVar23 = (int *)((int)puVar11 - iVar7)" (identifier "piVar23") (= "=") (cast_expression "(int *)((int)puVar11 - iVar7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 - iVar7)" (( "(") (binary_expression "(int)puVar11 - iVar7" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (- "-") (identifier "iVar7")) () ")")))) (; ";")) (expression_statement "piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);" (assignment_expression "piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc)" (identifier "piVar14") (= "=") (cast_expression "(int *)((uint)(puVar17 + 1) & 0xfffffffc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar17 + 1) & 0xfffffffc)" (( "(") (binary_expression "(uint)(puVar17 + 1) & 0xfffffffc" (call_expression "(uint)(puVar17 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17 + 1)" (( "(") (binary_expression "puVar17 + 1" (identifier "puVar17") (+ "+") (number_literal "1")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }" (for "for") (( "(") (assignment_expression "uVar6 = iVar7 + 0x130U >> 2" (identifier "uVar6") (= "=") (binary_expression "iVar7 + 0x130U >> 2" (binary_expression "iVar7 + 0x130U" (identifier "iVar7") (+ "+") (number_literal "0x130U")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar6 = uVar6 - 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 - 1" (identifier "uVar6") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n          *piVar14 = *piVar23;\n          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;\n          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;\n        }" ({ "{") (expression_statement "*piVar14 = *piVar23;" (assignment_expression "*piVar14 = *piVar23" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (pointer_expression "*piVar23" (* "*") (identifier "piVar23"))) (; ";")) (expression_statement "piVar23 = piVar23 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar23 = piVar23 + (uint)bVar25 * -2 + 1" (identifier "piVar23") (= "=") (binary_expression "piVar23 + (uint)bVar25 * -2 + 1" (binary_expression "piVar23 + (uint)bVar25 * -2" (identifier "piVar23") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar14 = piVar14 + (uint)bVar25 * -2 + 1;" (assignment_expression "piVar14 = piVar14 + (uint)bVar25 * -2 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + (uint)bVar25 * -2 + 1" (binary_expression "piVar14 + (uint)bVar25 * -2" (identifier "piVar14") (+ "+") (binary_expression "(uint)bVar25 * -2" (cast_expression "(uint)bVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar25")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "puVar17[0x1c] = puVar11;" (assignment_expression "puVar17[0x1c] = puVar11" (subscript_expression "puVar17[0x1c]" (identifier "puVar17") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "puVar17[0x22] = 0;" (assignment_expression "puVar17[0x22] = 0" (subscript_expression "puVar17[0x22]" (identifier "puVar17") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar17[0x1d] = 0;" (assignment_expression "puVar17[0x1d] = 0" (subscript_expression "puVar17[0x1d]" (identifier "puVar17") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {\n          puVar17[0x36] = 0xffffffff;\n        }\n        else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 4) == 0)" (( "(") (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 4) == 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 4)" (( "(") (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 4" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" (* "*") (cast_expression "(byte *)((int)puVar11 + 0xf5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + 0xf5)" (( "(") (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "0xf5")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          puVar17[0x36] = 0xffffffff;\n        }" ({ "{") (expression_statement "puVar17[0x36] = 0xffffffff;" (assignment_expression "puVar17[0x36] = 0xffffffff" (subscript_expression "puVar17[0x36]" (identifier "puVar17") ([ "[") (number_literal "0x36") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" (else "else") (compound_statement "{\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;\n          *(undefined4 *)((int)puVar9 + -0x10) = 0;\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;\n          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));\n          puVar17[0x36] = iVar7;\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }\n          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }\n        }" ({ "{") (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0x80800;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0x80800" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x80800")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c99a")) (; ";")) (expression_statement "iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" (identifier "eventfd") (argument_list "(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar17[0x36] = iVar7;" (assignment_expression "puVar17[0x36] = iVar7" (subscript_expression "puVar17[0x36]" (identifier "puVar17") ([ "[") (number_literal "0x36") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar7 == -1) {\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;\n            piVar5 = __errno_location();\n            *(int *)((int)puVar9 + -0x10) = *piVar5;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;\n            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));\n            *(char **)((int)puVar9 + -8) = pcVar13;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;\n            FUN_0001cf70();\n            goto LAB_0001ca07;\n          }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cc67;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cc67" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cc67")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cc71")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc3eb" (identifier "iVar8") (+ "+") (number_literal "0xc3eb"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cc82")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001ca07;" (goto "goto") (statement_identifier "LAB_0001ca07") (; ";")) (} "}"))) (if_statement "if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" (if "if") (parenthesized_expression "(((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7))" (( "(") (binary_expression "((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)" (parenthesized_expression "((puVar11[0x3d] & 0x240) == 0)" (( "(") (binary_expression "(puVar11[0x3d] & 0x240) == 0" (parenthesized_expression "(puVar11[0x3d] & 0x240)" (( "(") (binary_expression "puVar11[0x3d] & 0x240" (subscript_expression "puVar11[0x3d]" (identifier "puVar11") ([ "[") (number_literal "0x3d") (] "]")) (& "&") (number_literal "0x240")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(0x3ff < iVar7)" (( "(") (binary_expression "0x3ff < iVar7" (number_literal "0x3ff") (< "<") (identifier "iVar7")) () ")"))) () ")")) (compound_statement "{\n            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;\n            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;\n            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;\n            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;\n            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;\n            FUN_0001cf70();\n            piVar23 = *(int **)((int)puVar9 + -0x10);\n            *(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);\n            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;\n            iVar7 = close(*(int *)((int)puVar9 + -0x10));\n            if (iVar7 == 0) goto LAB_0001ca07;\n            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;\n            piVar5 = __errno_location();\n            if (*piVar5 != 9) goto LAB_0001ca07;\n            goto LAB_0001ccec;\n          }" ({ "{") (expression_statement "*(undefined4 **)((int)puVar9 + 0x18) = puVar17;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x18) = puVar17" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x18)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x18)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x18)" (( "(") (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "puVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = extraout_ECX;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = extraout_ECX" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "extraout_ECX")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc42b" (identifier "iVar8") (+ "+") (number_literal "0xc42b"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c9e2")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar23 = *(int **)((int)puVar9 + -0x10);" (assignment_expression "piVar23 = *(int **)((int)puVar9 + -0x10)" (identifier "piVar23") (= "=") (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) =\n                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" (* "*") (cast_expression "(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)puVar9 + 0x18) + 0xd8)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x18) + 0xd8" (pointer_expression "*(int *)((int)puVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x18)" (( "(") (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0xd8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c9f2")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001ca07;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001ca07;" (goto "goto") (statement_identifier "LAB_0001ca07") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c9fe" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c9fe")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001ca07;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001ca07;" (goto "goto") (statement_identifier "LAB_0001ca07") (; ";"))) (goto_statement "goto LAB_0001ccec;" (goto "goto") (statement_identifier "LAB_0001ccec") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x2c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x2c)" (( "(") (binary_expression "(int)puVar9 + 0x2c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (if_statement "if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }" (if "if") (parenthesized_expression "(*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20))" (( "(") (binary_expression "*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)" (pointer_expression "*(uint *)((int)puVar9 + 0x28)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x28)" (( "(") (binary_expression "(int)puVar9 + 0x28" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x28")) () ")")))) (<= "<=") (pointer_expression "*(uint *)((int)puVar9 + 0x20)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x20)" (( "(") (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (compound_statement "{\n          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);\n        }" ({ "{") (expression_statement "uVar18 = *(undefined4 *)((int)puVar9 + 0x24);" (assignment_expression "uVar18 = *(undefined4 *)((int)puVar9 + 0x24)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x24)" (( "(") (binary_expression "(int)puVar9 + 0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar17[0x3a] = uVar18;" (assignment_expression "puVar17[0x3a] = uVar18" (subscript_expression "puVar17[0x3a]" (identifier "puVar17") ([ "[") (number_literal "0x3a") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (if_statement "if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)puVar11 + 0xf5) & 2) != 0)" (( "(") (binary_expression "(*(byte *)((int)puVar11 + 0xf5) & 2) != 0" (parenthesized_expression "(*(byte *)((int)puVar11 + 0xf5) & 2)" (( "(") (binary_expression "*(byte *)((int)puVar11 + 0xf5) & 2" (pointer_expression "*(byte *)((int)puVar11 + 0xf5)" (* "*") (cast_expression "(byte *)((int)puVar11 + 0xf5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar11 + 0xf5)" (( "(") (binary_expression "(int)puVar11 + 0xf5" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (number_literal "0xf5")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;\n          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;\n          iVar7 = FUN_000177a0();\n          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);\n          if (iVar7 != 1) goto LAB_0001ca07;\n        }" ({ "{") (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1c8ad" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1c8ad")) (; ";")) (expression_statement "iVar7 = FUN_000177a0();" (assignment_expression "iVar7 = FUN_000177a0()" (identifier "iVar7") (= "=") (call_expression "FUN_000177a0()" (identifier "FUN_000177a0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar7 != 1) goto LAB_0001ca07;" (if "if") (parenthesized_expression "(iVar7 != 1)" (( "(") (binary_expression "iVar7 != 1" (identifier "iVar7") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0001ca07;" (goto "goto") (statement_identifier "LAB_0001ca07") (; ";"))) (} "}"))) (expression_statement "piVar23 = puVar17 + 0x2b;" (assignment_expression "piVar23 = puVar17 + 0x2b" (identifier "piVar23") (= "=") (binary_expression "puVar17 + 0x2b" (identifier "puVar17") (+ "+") (number_literal "0x2b"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c8cf")) (; ";")) (expression_statement "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));" (assignment_expression "iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (identifier "pthread_mutex_init") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10),\n                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (* "*") (cast_expression "(pthread_mutexattr_t **)((int)puVar9 + -0xc)" (( "(") (type_descriptor "pthread_mutexattr_t **" (type_identifier "pthread_mutexattr_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)puVar9" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (; ";")) (if_statement "if (iVar7 != 0) goto LAB_0001cc38;" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cc38;" (goto "goto") (statement_identifier "LAB_0001cc38") (; ";"))) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar17;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar17" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar17")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;" (assignment_expression "*(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9" (pointer_expression "*(int *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (binary_expression "iVar8 + -0x8d9" (identifier "iVar8") (+ "+") (number_literal "-0x8d9"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x18)" (( "(") (binary_expression "(int)puVar9 + -0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (subscript_expression "puVar11[0x21]" (identifier "puVar11") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + 0x1c) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;" (assignment_expression "*(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341" (pointer_expression "*(int *)((int)puVar9 + -0x1c)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x1c)" (( "(") (binary_expression "(int)puVar9 + -0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb341" (identifier "iVar8") (+ "+") (number_literal "0xb341"))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x20)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x20)" (( "(") (binary_expression "(int)puVar9 + -0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (binary_expression "puVar17 + 0x23" (identifier "puVar17") (+ "+") (number_literal "0x23"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x24) = 0x1c906" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x24)" (( "(") (binary_expression "(int)puVar9 + -0x24" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x1c906")) (; ";")) (expression_statement "iVar7 = FUN_0001f380();" (assignment_expression "iVar7 = FUN_0001f380()" (identifier "iVar7") (= "=") (call_expression "FUN_0001f380()" (identifier "FUN_0001f380") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);" (assignment_expression "puVar11 = *(undefined4 **)((int)puVar9 + 0x1c)" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)((int)puVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + 0x1c)" (( "(") (binary_expression "(int)puVar9 + 0x1c" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;" (assignment_expression "*(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar9 + 0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x20)" (( "(") (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)((int)puVar9 + 0x20) + 1" (pointer_expression "*(int *)((int)puVar9 + 0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x20)" (( "(") (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;" (assignment_expression "*(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x18)" (( "(") (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (binary_expression "*(int *)((int)puVar9 + 0x18) + 0x130" (pointer_expression "*(int *)((int)puVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x18)" (( "(") (binary_expression "(int)puVar9 + 0x18" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0x130"))) (; ";")) (if_statement "if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;" (if "if") (parenthesized_expression "((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20))" (( "(") (binary_expression "(uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)" (cast_expression "(uint)puVar11[0x22]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]"))) (<= "<=") (pointer_expression "*(uint *)((int)puVar9 + 0x20)" (* "*") (cast_expression "(uint *)((int)puVar9 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x20)" (( "(") (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (goto_statement "goto LAB_0001bf79;" (goto "goto") (statement_identifier "LAB_0001bf79") (; ";"))) (expression_statement "pvVar12 = (void *)puVar11[0x1d];" (assignment_expression "pvVar12 = (void *)puVar11[0x1d]" (identifier "pvVar12") (= "=") (cast_expression "(void *)puVar11[0x1d]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar11[0x1d]" (identifier "puVar11") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1cbe5" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1cbe5")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0x10) = *piVar5;" (assignment_expression "*(int *)((int)puVar9 + -0x10) = *piVar5" (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cbef")) (; ";")) (expression_statement "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));" (assignment_expression "pcVar13 = strerror(*(int *)((int)puVar9 + -0x10))" (identifier "pcVar13") (= "=") (call_expression "strerror(*(int *)((int)puVar9 + -0x10))" (identifier "strerror") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar9 + -8) = pcVar13;" (assignment_expression "*(char **)((int)puVar9 + -8) = pcVar13" (pointer_expression "*(char **)((int)puVar9 + -8)" (* "*") (cast_expression "(char **)((int)puVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "pcVar13")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc4b7" (identifier "iVar8") (+ "+") (number_literal "0xc4b7"))) (; ";")) (expression_statement "puVar15 = (undefined1 *)((int)puVar9 + -0x10);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar9 + -0x10)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cc00")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int **)((int)puVar9 + -0x10) = piVar23;" (assignment_expression "*(int **)((int)puVar9 + -0x10) = piVar23" (pointer_expression "*(int **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar23")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cc08")) (; ";")) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;\n        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;\n        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;\n        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n        pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;\n        (*pcVar3)();\n        puVar11 = extraout_EDX;\nLAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;\n        *(undefined4 **)(puVar15 + -0x10) = puVar11;\n        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;\n        FUN_0001cf70();\n        puVar9 = (undefined4 *)puVar15;\n      }" ({ "{") (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2e1" (identifier "iVar8") (+ "+") (number_literal "0xb2e1"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x19a1;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x19a1" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x19a1")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cc32")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar11 = extraout_EDX;" (assignment_expression "puVar11 = extraout_EDX" (identifier "puVar11") (= "=") (identifier "extraout_EDX")) (; ";")) (labeled_statement "LAB_0001cc38:\n        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;" (statement_identifier "LAB_0001cc38") (: ":") (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xc483;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xc483" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xc483" (identifier "iVar8") (+ "+") (number_literal "0xc483"))) (; ";"))) (expression_statement "*(undefined4 **)(puVar15 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)(puVar15 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 **)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cc4a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cc4a")) (; ";")) (expression_statement "FUN_0001cf70();" (call_expression "FUN_0001cf70()" (identifier "FUN_0001cf70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)puVar15;" (assignment_expression "puVar9 = (undefined4 *)puVar15" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)puVar15" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar15"))) (; ";")) (} "}"))) (labeled_statement "LAB_0001ca07:\n      if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" (statement_identifier "LAB_0001ca07") (: ":") (if_statement "if (*(int *)((int)puVar9 + 0x20) != 0) {\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" (if "if") (parenthesized_expression "(*(int *)((int)puVar9 + 0x20) != 0)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x20) != 0" (pointer_expression "*(int *)((int)puVar9 + 0x20)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x20)" (( "(") (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);\n        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;\n        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;\n        MHD_stop_daemon();\n        goto LAB_0001bfd0;\n      }" ({ "{") (expression_statement "puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);" (assignment_expression "puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20)" (subscript_expression "puVar11[0x22]" (identifier "puVar11") ([ "[") (number_literal "0x22") (] "]")) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x20)" (( "(") (binary_expression "(int)puVar9 + 0x20" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 **)((int)puVar9 + -0x10) = puVar11;" (assignment_expression "*(undefined4 **)((int)puVar9 + -0x10) = puVar11" (pointer_expression "*(undefined4 **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1bfc5")) (; ";")) (expression_statement "MHD_stop_daemon();" (call_expression "MHD_stop_daemon()" (identifier "MHD_stop_daemon") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001bfd0;" (goto "goto") (statement_identifier "LAB_0001bfd0") (; ";")) (} "}")))) (} "}"))) (if_statement "if (*(int *)((int)puVar9 + 0x10) == -1) {\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }" (if "if") (parenthesized_expression "(*(int *)((int)puVar9 + 0x10) == -1)" (( "(") (binary_expression "*(int *)((int)puVar9 + 0x10) == -1" (pointer_expression "*(int *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);\n      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;\n      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));\n      puVar15 = (undefined1 *)puVar9;\n      if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }\nLAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;\n      *(undefined4 *)(puVar15 + -8) = 0x19ba;\n      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;\n      puVar22 = puVar15 + -0x10;\n      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);\n      pcVar3 = *(code **)(&UNK_00014633 + iVar8);\n      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;\n      (*pcVar3)();\n      goto LAB_0001cccd;\n    }" ({ "{") (labeled_statement "LAB_0001ca3b:\n      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (statement_identifier "LAB_0001ca3b") (: ":") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0xc)" (( "(") (binary_expression "(int)puVar9 + 0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ca47")) (; ";")) (expression_statement "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (identifier "pthread_mutex_destroy") (argument_list "(*(pthread_mutex_t **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(pthread_mutex_t **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(pthread_mutex_t **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)puVar9" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (; ";")) (if_statement "if (iVar7 == 0) {\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }\n        goto LAB_0001bf08;\n      }" ({ "{") (if_statement "if (puVar11[0x1d] != 0) {\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }" (if "if") (parenthesized_expression "(puVar11[0x1d] != 0)" (( "(") (binary_expression "puVar11[0x1d] != 0" (subscript_expression "puVar11[0x1d]" (identifier "puVar11") ([ "[") (number_literal "0x1d") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];\n          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;\n          free(*(void **)((int)puVar9 + -0x10));\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d]" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "puVar11[0x1d]" (identifier "puVar11") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ca66")) (; ";")) (expression_statement "free(*(void **)((int)puVar9 + -0x10));" (call_expression "free(*(void **)((int)puVar9 + -0x10))" (identifier "free") (argument_list "(*(void **)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(void **)((int)puVar9 + -0x10)" (* "*") (cast_expression "(void **)((int)puVar9 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0001bf08;" (goto "goto") (statement_identifier "LAB_0001bf08") (; ";")) (} "}"))) (labeled_statement "LAB_0001ccae:\n      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;" (statement_identifier "LAB_0001ccae") (: ":") (expression_statement "*(int *)(puVar15 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)(puVar15 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2e1" (identifier "iVar8") (+ "+") (number_literal "0xb2e1"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x19ba;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x19ba" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x19ba")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar22 = puVar15 + -0x10;" (assignment_expression "puVar22 = puVar15 + -0x10" (identifier "puVar22") (= "=") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cccd;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cccd" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cccd")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001cccd;" (goto "goto") (statement_identifier "LAB_0001cccd") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar9 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + 0x10)" (( "(") (binary_expression "(int)puVar9 + 0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1ca26")) (; ";")) (expression_statement "iVar7 = close(*(int *)((int)puVar9 + -0x10));" (assignment_expression "iVar7 = close(*(int *)((int)puVar9 + -0x10))" (identifier "iVar7") (= "=") (call_expression "close(*(int *)((int)puVar9 + -0x10))" (identifier "close") (argument_list "(*(int *)((int)puVar9 + -0x10))" (( "(") (pointer_expression "*(int *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_0001ca3b;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001ca3b;" (goto "goto") (statement_identifier "LAB_0001ca3b") (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -4) = 0x1ca32;" (assignment_expression "*(undefined4 *)((int)puVar9 + -4) = 0x1ca32" (pointer_expression "*(undefined4 *)((int)puVar9 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x1ca32")) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar15 = (undefined1 *)puVar9;" (assignment_expression "puVar15 = (undefined1 *)puVar9" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)puVar9" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (; ";")) (if_statement "if (*piVar5 != 9) goto LAB_0001ca3b;" (if "if") (parenthesized_expression "(*piVar5 != 9)" (( "(") (binary_expression "*piVar5 != 9" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_0001ca3b;" (goto "goto") (statement_identifier "LAB_0001ca3b") (; ";"))) (} "}")))) (expression_statement "*(int *)(puVar15 + -4) = iVar8 + 0xb22d;" (assignment_expression "*(int *)(puVar15 + -4) = iVar8 + 0xb22d" (pointer_expression "*(int *)(puVar15 + -4)" (* "*") (cast_expression "(int *)(puVar15 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -4)" (( "(") (binary_expression "puVar15 + -4" (identifier "puVar15") (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb22d" (identifier "iVar8") (+ "+") (number_literal "0xb22d"))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -8) = 0x19b9;" (assignment_expression "*(undefined4 *)(puVar15 + -8) = 0x19b9" (pointer_expression "*(undefined4 *)(puVar15 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -8)" (( "(") (binary_expression "puVar15 + -8" (identifier "puVar15") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x19b9")) (; ";")) (expression_statement "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)(puVar15 + -0xc)" (* "*") (cast_expression "(int *)(puVar15 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0xc)" (( "(") (binary_expression "puVar15 + -0xc" (identifier "puVar15") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar9 = (undefined4 *)(puVar15 + -0x10);" (assignment_expression "puVar9 = (undefined4 *)(puVar15 + -0x10)" (identifier "puVar9") (= "=") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)(puVar15 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x10)" (( "(") (binary_expression "puVar15 + -0x10" (identifier "puVar15") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;" (assignment_expression "*(undefined4 *)(puVar15 + -0x14) = 0x1cd2a" (pointer_expression "*(undefined4 *)(puVar15 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar15 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + -0x14)" (( "(") (binary_expression "puVar15 + -0x14" (identifier "puVar15") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cd2a")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001cd2a:\n  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (statement_identifier "LAB_0001cd2a") (: ":") (expression_statement "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;" (assignment_expression "*(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1" (pointer_expression "*(int *)((int)puVar9 + -4)" (* "*") (cast_expression "(int *)((int)puVar9 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -4)" (( "(") (binary_expression "(int)puVar9 + -4" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb2e1" (identifier "iVar8") (+ "+") (number_literal "0xb2e1"))) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar9 + -8) = 0x193c;" (assignment_expression "*(undefined4 *)((int)puVar9 + -8) = 0x193c" (pointer_expression "*(undefined4 *)((int)puVar9 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -8)" (( "(") (binary_expression "(int)puVar9 + -8" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x193c")) (; ";")) (expression_statement "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;" (assignment_expression "*(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff" (pointer_expression "*(int *)((int)puVar9 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar9 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0xc)" (( "(") (binary_expression "(int)puVar9 + -0xc" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar17 = (undefined4 *)((int)puVar9 + -0x10);" (assignment_expression "puVar17 = (undefined4 *)((int)puVar9 + -0x10)" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8)" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x10)" (( "(") (binary_expression "(int)puVar9 + -0x10" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;" (assignment_expression "*(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49" (pointer_expression "*(undefined4 *)((int)puVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar9 + -0x14)" (( "(") (binary_expression "(int)puVar9 + -0x14" (cast_expression "(int)puVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1cd49")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001cd49:\n  puVar17[-1] = iVar8 + 0xb2e1;" (statement_identifier "LAB_0001cd49") (: ":") (expression_statement "puVar17[-1] = iVar8 + 0xb2e1;" (assignment_expression "puVar17[-1] = iVar8 + 0xb2e1" (subscript_expression "puVar17[-1]" (identifier "puVar17") ([ "[") (number_literal "-1") (] "]")) (= "=") (binary_expression "iVar8 + 0xb2e1" (identifier "iVar8") (+ "+") (number_literal "0xb2e1"))) (; ";"))) (expression_statement "puVar17[-2] = 0x190e;" (assignment_expression "puVar17[-2] = 0x190e" (subscript_expression "puVar17[-2]" (identifier "puVar17") ([ "[") (number_literal "-2") (] "]")) (= "=") (number_literal "0x190e")) (; ";")) (expression_statement "puVar17[-3] = iVar8 + 0xb1ff;" (assignment_expression "puVar17[-3] = iVar8 + 0xb1ff" (subscript_expression "puVar17[-3]" (identifier "puVar17") ([ "[") (number_literal "-3") (] "]")) (= "=") (binary_expression "iVar8 + 0xb1ff" (identifier "iVar8") (+ "+") (number_literal "0xb1ff"))) (; ";")) (expression_statement "puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);" (assignment_expression "puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8)" (subscript_expression "puVar17[-4]" (identifier "puVar17") ([ "[") (number_literal "-4") (] "]")) (= "=") (pointer_expression "*(undefined4 *)(&UNK_0001462f + iVar8)" (* "*") (cast_expression "(undefined4 *)(&UNK_0001462f + iVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&UNK_0001462f + iVar8)" (( "(") (binary_expression "&UNK_0001462f + iVar8" (pointer_expression "&UNK_0001462f" (& "&") (identifier "UNK_0001462f")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "pcVar3 = *(code **)(&UNK_00014633 + iVar8);" (assignment_expression "pcVar3 = *(code **)(&UNK_00014633 + iVar8)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(&UNK_00014633 + iVar8)" (* "*") (cast_expression "(code **)(&UNK_00014633 + iVar8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&UNK_00014633 + iVar8)" (( "(") (binary_expression "&UNK_00014633 + iVar8" (pointer_expression "&UNK_00014633" (& "&") (identifier "UNK_00014633")) (+ "+") (identifier "iVar8")) () ")"))))) (; ";")) (expression_statement "puVar17[-5] = 0x1cd68;" (assignment_expression "puVar17[-5] = 0x1cd68" (subscript_expression "puVar17[-5]" (identifier "puVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x1cd68")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar17[-5] = &UNK_000144c7 + iVar8;" (assignment_expression "puVar17[-5] = &UNK_000144c7 + iVar8" (subscript_expression "puVar17[-5]" (identifier "puVar17") ([ "[") (number_literal "-5") (] "]")) (= "=") (binary_expression "&UNK_000144c7 + iVar8" (pointer_expression "&UNK_000144c7" (& "&") (identifier "UNK_000144c7")) (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "puVar17[-6] = 0x1cd76;" (assignment_expression "puVar17[-6] = 0x1cd76" (subscript_expression "puVar17[-6]" (identifier "puVar17") ([ "[") (number_literal "-6") (] "]")) (= "=") (number_literal "0x1cd76")) (; ";")) (expression_statement "puVar17[-9] = puVar17 + 3;" (assignment_expression "puVar17[-9] = puVar17 + 3" (subscript_expression "puVar17[-9]" (identifier "puVar17") ([ "[") (number_literal "-9") (] "]")) (= "=") (binary_expression "puVar17 + 3" (identifier "puVar17") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "puVar17[-10] = puVar17[2];" (assignment_expression "puVar17[-10] = puVar17[2]" (subscript_expression "puVar17[-10]" (identifier "puVar17") ([ "[") (number_literal "-10") (] "]")) (= "=") (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "puVar17[-0xb] = puVar17[1];" (assignment_expression "puVar17[-0xb] = puVar17[1]" (subscript_expression "puVar17[-0xb]" (identifier "puVar17") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar17[-0xc] = *puVar17;" (assignment_expression "puVar17[-0xc] = *puVar17" (subscript_expression "puVar17[-0xc]" (identifier "puVar17") ([ "[") (number_literal "-0xc") (] "]")) (= "=") (pointer_expression "*puVar17" (* "*") (identifier "puVar17"))) (; ";")) (expression_statement "puVar17[-0xd] = puVar17[-1];" (assignment_expression "puVar17[-0xd] = puVar17[-1]" (subscript_expression "puVar17[-0xd]" (identifier "puVar17") ([ "[") (number_literal "-0xd") (] "]")) (= "=") (subscript_expression "puVar17[-1]" (identifier "puVar17") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);" (assignment_expression "puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2)" (subscript_expression "puVar17[-0xe]" (identifier "puVar17") ([ "[") (number_literal "-0xe") (] "]")) (= "=") (binary_expression "(uint)*(ushort *)(puVar17 + -2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)(puVar17 + -2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -2)" (( "(") (binary_expression "puVar17 + -2" (identifier "puVar17") (+ "+") (number_literal "-2")) () ")"))))) (; ";")) (expression_statement "puVar17[-0xf] = puVar17[-3];" (assignment_expression "puVar17[-0xf] = puVar17[-3]" (subscript_expression "puVar17[-0xf]" (identifier "puVar17") ([ "[") (number_literal "-0xf") (] "]")) (= "=") (subscript_expression "puVar17[-3]" (identifier "puVar17") ([ "[") (number_literal "-3") (] "]"))) (; ";")) (expression_statement "puVar17[-0x10] = 0x1cda6;" (assignment_expression "puVar17[-0x10] = 0x1cda6" (subscript_expression "puVar17[-0x10]" (identifier "puVar17") ([ "[") (number_literal "-0x10") (] "]")) (= "=") (number_literal "0x1cda6")) (; ";")) (expression_statement "puVar17 = (undefined4 *)MHD_start_daemon_va();" (assignment_expression "puVar17 = (undefined4 *)MHD_start_daemon_va()" (identifier "puVar17") (= "=") (cast_expression "(undefined4 *)MHD_start_daemon_va()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "MHD_start_daemon_va()" (identifier "MHD_start_daemon_va") (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return puVar17;" (return "return") (identifier "puVar17") (; ";")) (} "}"))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Switch with 1 destination removed at 0x00012240 */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */

void function_1(type_1 *var_1)

{
  uint16_t uVar1;
  short var_42;
  void *pvVar3;
  type_2 *pcVar4;
  ssize_t var_11;
  int *piVar6;
  type_3 var_20;
  int var_14;
  uint64_t *var_7;
  type_1 *var_2;
  type_4 var_29;
  type_5 *var_35;
  int var_38;
  type_6 var_31;
  type_7 var_49;
  char *pcVar16;
  type_8 var_25;
  type_9 *var_8;
  type_1 *var_58;
  type_10 ap;
  type_11 extraout_ECX;
  type_11 uVar20;
  type_1 *extraout_EDX;
  type_9 *var_21;
  type_11 *puVar22;
  type_11 *puVar23;
  type_9 *var_57;
  type_11 *puVar25;
  type_9 *var_5;
  type_11 *var_24;
  type_3 var_19;
  type_12 *pMVar28;
  type_12 *var_39;
  uint64_t *var_18;
  int var_23;
  bool bVar30;
  type_13 bVar31;
  type_9 auStack_2c [12];
  uint64_t *puStack_20;
  type_11 uStack_14;
  type_11 uStack_10;
  
  bVar31 = 0;
  uStack_10 = 0x30000;
  uStack_14 = 0x1b6f9;
  var_5 = auStack_2c;
  var_8 = auStack_2c;
  var_24 = (type_11 *)auStack_2c;
  var_21 = auStack_2c;
  if (var_1 == (type_1 *)0x0) {
    return;
  }
  var_1->var_9 = true;
  var_2 = var_1->worker_pool;
  if (var_1->was_quiesced == false) {
    var_18 = (uint64_t *)var_1->listen_fd;
    puStack_20 = var_18;
    var_8 = auStack_2c;
    if (var_2 == (type_1 *)0x0) {
      do {
        var_5 = var_8;
        if ((var_1->options & var_3) == var_4) {
LAB_0001ba78:
          *(type_11 *)(var_5 + -4) = 0x1ba7f;
          var_6(var_1);
        }
        else {
          var_7 = (uint64_t *)(var_1->itc).fd;
          if (var_7 == (uint64_t *)0xffffffff) {
            if ((*(int *)(var_8 + 0xc) != -1) && (var_1->master == (type_1 *)0x0)) {
              *(type_11 *)(var_8 + -0xc) = 2;
              *(type_11 *)(var_8 + -0x10) = *(type_11 *)(var_8 + 0xc);
              *(type_11 *)(var_8 + -0x14) = 0x1ba0c;
              var_9(*(int *)(var_8 + -0x10),*(int *)(var_8 + -0xc));
            }
          }
          else {
LAB_0001ba20:
            *(type_11 *)(var_8 + -8) = 8;
            *(uint64_t **)(var_8 + -0xc) = &_MHD_itc_wr_data;
            *(uint64_t **)(var_8 + -0x10) = var_7;
            *(type_11 *)(var_8 + -0x14) = 0x1ba32;
            var_11 = var_10(*(int *)(var_8 + -0x10),*(void **)(var_8 + -0xc),
                          *(size_t *)(var_8 + -8));
            if (var_11 < 1) {
              *(type_11 *)(var_8 + -4) = 0x1ba42;
              piVar6 = var_12();
              if (*piVar6 != 0xb) {
                *(char **)(var_8 + -4) =
                     "Failed to signal shutdown via inter-thread communication channel.\n";
                *(type_11 *)(var_8 + -8) = 0x1ae5;
                *(char **)(var_8 + -0xc) = "daemon.c";
                var_5 = var_8 + -0x10;
                *(void **)(var_8 + -0x10) = mhd_panic_cls;
                *(type_11 *)(var_8 + -0x14) = 0x1ba6a;
                (*mhd_panic)(*(void **)(var_8 + -0x10),*(char **)(var_8 + -0xc),
                             *(type_3 *)(var_8 + -8),*(char **)(var_8 + -4));
LAB_0001ba70:
                *(type_11 *)(var_5 + 0xc) = 0xffffffff;
                goto LAB_0001ba78;
              }
            }
          }
LAB_0001b8f8:
          *(type_11 *)(var_8 + -0xc) = 0;
          *(type_14 *)(var_8 + -0x10) = (var_1->pid).handle;
          *(type_11 *)(var_8 + -0x14) = 0x1b908;
          var_14 = var_13(*(type_15 *)(var_8 + -0x10),*(void ***)(var_8 + -0xc));
          var_5 = var_8;
          if (var_14 != 0) goto LAB_0001bad2;
        }
        var_14 = (var_1->itc).fd;
        if (var_14 != -1) {
          *(int *)(var_5 + -0x10) = var_14;
          *(type_11 *)(var_5 + -0x14) = 0x1b927;
          var_14 = var_15(*(int *)(var_5 + -0x10));
          if (var_14 != 0) {
            *(type_11 *)(var_5 + -4) = 0x1b933;
            piVar6 = var_12();
            if (*piVar6 == 9) {
              *(char **)(var_5 + -4) = "Failed to destroy ITC.\n";
              *(type_11 *)(var_5 + -8) = 0x1b02;
              *(char **)(var_5 + -0xc) = "daemon.c";
              var_24 = (type_11 *)(var_5 + -0x10);
              *(void **)(var_5 + -0x10) = mhd_panic_cls;
              *(type_11 *)(var_5 + -0x14) = 0x1bab3;
              (*mhd_panic)(*(void **)(var_5 + -0x10),*(char **)(var_5 + -0xc),
                           *(type_3 *)(var_5 + -8),*(char **)(var_5 + -4));
              goto LAB_0001bab3;
            }
          }
        }
        var_24 = (type_11 *)var_5;
        if (((var_1->options & var_16) != var_4) && (var_1->epoll_fd != -1)) {
          *(int *)(var_5 + -0x10) = var_1->epoll_fd;
          *(type_11 *)(var_5 + -0x14) = 0x1b959;
          var_14 = var_15(*(int *)(var_5 + -0x10));
          if (var_14 != 0) {
            *(type_11 *)(var_5 + -4) = 0x1b965;
            piVar6 = var_12();
            if (*piVar6 == 9) {
              *(char **)(var_5 + -4) = "Close socket failed.\n";
              *(type_11 *)(var_5 + -8) = 0x1b07;
              *(char **)(var_5 + -0xc) = "daemon.c";
              var_24 = (type_11 *)(var_5 + -0x10);
              *(void **)(var_5 + -0x10) = mhd_panic_cls;
              *(type_11 *)(var_5 + -0x14) = 0x1b989;
              (*mhd_panic)(*(void **)(var_5 + -0x10),*(char **)(var_5 + -0xc),
                           *(type_3 *)(var_5 + -8),*(char **)(var_5 + -4));
            }
          }
        }
        *(type_12 **)((int)var_24 + -0x10) = &var_1->cleanup_connection_mutex;
        *(type_11 *)((int)var_24 + -0x14) = 0x1b99f;
        var_14 = var_17(*(type_16 **)((int)var_24 + -0x10));
        if (var_14 == 0) goto LAB_0001b81d;
        *(char **)((int)var_24 + -4) = "Failed to destroy mutex.\n";
        *(type_11 *)((int)var_24 + -8) = 0x1b10;
        *(char **)((int)var_24 + -0xc) = "daemon.c";
        var_8 = (type_9 *)((int)var_24 + -0x10);
        *(void **)((int)var_24 + -0x10) = mhd_panic_cls;
        *(type_11 *)((int)var_24 + -0x14) = 0x1b9c9;
        (*mhd_panic)(*(void **)((int)var_24 + -0x10),*(char **)((int)var_24 + -0xc),
                     *(type_3 *)((int)var_24 + -8),*(char **)((int)var_24 + -4));
      } while( true );
    }
    if (var_1->worker_pool_size == 0) {
      bVar30 = var_18 == (uint64_t *)0xffffffff;
      var_18 = (uint64_t *)0x0;
      if (bVar30) {
        var_18 = (uint64_t *)0x0;
        goto LAB_0001b8ba;
      }
LAB_0001b7cf:
      *(type_11 *)((int)var_24 + -0xc) = 2;
      *(type_11 *)((int)var_24 + -0x10) = *(type_11 *)((int)var_24 + 0xc);
      *(type_11 *)((int)var_24 + -0x14) = 0x1b7dd;
      var_9(*(int *)((int)var_24 + -0x10),*(int *)((int)var_24 + -0xc));
      var_20 = var_1->worker_pool_size;
    }
    else {
LAB_0001b747:
      var_19 = 0;
      var_18 = &_MHD_itc_wr_data;
      while( true ) {
        var_2[var_19].var_9 = true;
        var_14 = var_1->worker_pool[var_19].itc.fd;
        if (((var_14 != -1) && (var_11 = var_10(var_14,&_MHD_itc_wr_data,8), var_11 < 1)) &&
           (piVar6 = var_12(), *piVar6 != 0xb)) break;
        var_20 = var_1->worker_pool_size;
        var_19 = var_19 + 1;
        if (var_20 <= var_19) goto LAB_0001b7c8;
        var_2 = var_1->worker_pool;
      }
      var_21 = &stack0xffffffc4;
      var_20 = (*mhd_panic)(mhd_panic_cls,"daemon.c",0x1abf,
                           "Failed to signal shutdown via inter-thread communication channel.\n");
LAB_0001b7c8:
      var_24 = (type_11 *)var_21;
      if (*(int *)(var_21 + 0xc) != -1) goto LAB_0001b7cf;
    }
    var_2 = var_1->worker_pool;
    if (var_20 != 0) {
      var_7 = (uint64_t *)0x0;
      do {
        var_18 = (uint64_t *)((int)var_7 + 1);
        *(type_1 **)((int)var_24 + -0x10) = var_2 + (int)var_7;
        *(type_11 *)((int)var_24 + -0x14) = 0x1b803;
        function_1(*(type_1 **)((int)var_24 + -0x10));
        var_2 = var_1->worker_pool;
        var_7 = var_18;
      } while (var_18 < (uint64_t *)var_1->worker_pool_size);
    }
    *(type_1 **)((int)var_24 + -0x10) = var_2;
    *(type_11 *)((int)var_24 + -0x14) = 0x1b81a;
    var_22(*(void **)((int)var_24 + -0x10));
LAB_0001b81d:
    if (var_1->master != (type_1 *)0x0) {
      return;
    }
    if (*(int *)((int)var_24 + 0xc) == -1) goto LAB_0001b84b;
    *(int *)((int)var_24 + -0x10) = *(int *)((int)var_24 + 0xc);
    *(type_11 *)((int)var_24 + -0x14) = 0x1b836;
    var_14 = var_15(*(int *)((int)var_24 + -0x10));
    if (var_14 == 0) goto LAB_0001b84b;
    *(type_11 *)((int)var_24 + -4) = 0x1b842;
    piVar6 = var_12();
    if (*piVar6 != 9) goto LAB_0001b84b;
LAB_0001bab3:
    *(char **)((int)var_24 + -4) = "Close socket failed.\n";
    *(type_11 *)((int)var_24 + -8) = 0x1b19;
    *(char **)((int)var_24 + -0xc) = "daemon.c";
    var_8 = (type_9 *)((int)var_24 + -0x10);
    *(void **)((int)var_24 + -0x10) = mhd_panic_cls;
    *(type_11 *)((int)var_24 + -0x14) = 0x1bad2;
    (*mhd_panic)(*(void **)((int)var_24 + -0x10),*(char **)((int)var_24 + -0xc),
                 *(type_3 *)((int)var_24 + -8),*(char **)((int)var_24 + -4));
LAB_0001bad2:
    *(char **)(var_8 + -4) = "Failed to join a thread.\n";
    *(type_11 *)(var_8 + -8) = 0x1af7;
    *(char **)(var_8 + -0xc) = "daemon.c";
    var_5 = var_8 + -0x10;
    *(void **)(var_8 + -0x10) = mhd_panic_cls;
    *(type_11 *)(var_8 + -0x14) = 0x1baf1;
    (*mhd_panic)(*(void **)(var_8 + -0x10),*(char **)(var_8 + -0xc),*(type_3 *)(var_8 + -8),
                 *(char **)(var_8 + -4));
LAB_0001baf1:
    *(char **)(var_5 + -4) = "Failed to destroy mutex.\n";
    *(type_11 *)(var_5 + -8) = 0x1b2f;
    *(char **)(var_5 + -0xc) = "daemon.c";
    var_24 = (type_11 *)(var_5 + -0x10);
    *(void **)(var_5 + -0x10) = mhd_panic_cls;
    *(type_11 *)(var_5 + -0x14) = 0x1bb10;
    (*mhd_panic)(*(void **)(var_5 + -0x10),*(char **)(var_5 + -0xc),*(type_3 *)(var_5 + -8),
                 *(char **)(var_5 + -4));
  }
  else {
    if (var_2 == (type_1 *)0x0) {
      if ((var_1->options & var_3) == var_4) goto LAB_0001ba70;
      var_7 = (uint64_t *)(var_1->itc).fd;
      puStack_20 = var_7;
      if (var_7 == (uint64_t *)0xffffffff) goto LAB_0001b8f8;
      puStack_20 = (uint64_t *)0xffffffff;
      var_8 = auStack_2c;
      goto LAB_0001ba20;
    }
    var_19 = var_1->worker_pool_size;
    puStack_20 = (uint64_t *)0xffffffff;
    if (var_19 != 0) goto LAB_0001b747;
LAB_0001b8ba:
    var_22(var_2);
    var_24 = (type_11 *)auStack_2c;
    if (var_1->master != (type_1 *)0x0) {
      return;
    }
LAB_0001b84b:
    *(type_5 **)((int)var_24 + -0x10) = var_1->nnc;
    *(type_11 *)((int)var_24 + -0x14) = 0x1b859;
    var_22(*(void **)((int)var_24 + -0x10));
    *(type_12 **)((int)var_24 + -0x10) = &var_1->nnc_lock;
    *(type_11 *)((int)var_24 + -0x14) = 0x1b867;
    var_14 = var_17(*(type_16 **)((int)var_24 + -0x10));
    var_5 = (type_9 *)var_24;
    if (var_14 != 0) goto LAB_0001baf1;
    *(type_12 **)((int)var_24 + -0x10) = &var_1->per_ip_connection_mutex;
    *(type_11 *)((int)var_24 + -0x14) = 0x1b881;
    var_14 = var_17(*(type_16 **)((int)var_24 + -0x10));
    if (var_14 == 0) {
      *(type_1 **)((int)var_24 + -0x10) = var_1;
      *(type_11 *)((int)var_24 + -0x14) = 0x1b895;
      var_22(*(void **)((int)var_24 + -0x10));
      return;
    }
  }
  var_24[-1] = "Failed to destroy mutex.\n";
  var_24[-2] = 0x1b33;
  var_24[-3] = "daemon.c";
  var_24[-4] = mhd_panic_cls;
  var_24[-5] = 0x1bb2f;
  (*mhd_panic)((void *)var_24[-4],(char *)var_24[-3],var_24[-2],(char *)var_24[-1]);
  var_24[-5] = var_19;
  var_24[-6] = var_18;
  var_24[-7] = var_1;
  var_24[-8] = 0x30000;
  var_24[-9] = 0x1bb39;
  var_14 = var_24[-9];
  pMVar28 = (type_12 *)var_24[-3];
  var_25 = (type_8)var_24[1];
  var_24[-0x3b] = 1;
  var_24[-0x44] = var_24[-2];
  var_24[-0x3a] = 0;
  var_24[-0x43] = var_24[-1];
  var_24[-0x42] = var_24[2];
  var_24[-0xc] = *(type_11 *)(var_23 + 0x14);
  var_24[-0x3f] = (type_3)pMVar28 & 2;
  puVar25 = var_24 + -0x47;
  if (((type_3)pMVar28 & 2) != 0) goto LAB_0001bf79;
  if (((type_3)pMVar28 & 0x8000) != 0) {
    pMVar28 = (type_12 *)((type_3)pMVar28 | 0x2400);
  }
  puVar25 = var_24 + -0x47;
  if (((var_25 == (type_8)0x0) ||
      (puVar25 = var_24 + -0x47, ((type_3)pMVar28 & 0x240) == 0x240)) ||
     ((puVar25 = var_24 + -0x47, ((type_3)pMVar28 & 0x204) == 0x204 ||
      (puVar25 = var_24 + -0x47, ((type_3)pMVar28 & 0x4c) == 0x40)))) goto LAB_0001bf79;
  var_39 = pMVar28;
  if (((type_3)pMVar28 & 0x10000) != 0) {
    puVar25 = var_24 + -0x47;
    if (((type_3)pMVar28 & 0x240) != 0) goto LAB_0001bf79;
    var_39 = (type_12 *)((type_3)pMVar28 | 0x40);
    if (((type_3)pMVar28 & 4) == 0) {
      var_39 = (type_12 *)((type_3)pMVar28 | 0x200);
    }
  }
  var_24[-0x40] = var_24[3];
  var_24[-0x41] = *var_24;
  var_24[-0x4a] = 0x130;
  var_24[-0x4b] = 1;
  var_24[-0x4c] = 0x1bc1d;
  var_2 = (type_1 *)var_26(var_24[-0x4b],var_24[-0x4a]);
  puVar25 = var_24 + -0x47;
  if (var_2 == (type_1 *)0x0) goto LAB_0001bf79;
  var_2->epoll_fd = -1;
  var_2->listen_fd = -1;
  var_2->listening_address_reuse = 0;
  var_2->options = (type_6)var_39;
  pvVar3 = (void *)var_24[-0x41];
  var_2->default_handler = var_25;
  var_2->connections = 0;
  var_2->connection_limit = 0x3fc;
  var_2->strict_for_client = (type_3)var_39 >> 5 & 1;
  uVar1 = *(uint16_t *)(var_24 + -0x44);
  var_2->apc_cls = pvVar3;
  var_2->pool_size = 0x8000;
  var_2->pool_increment = 0x400;
  var_2->connection_timeout = 0;
  (var_2->itc).fd = -1;
  var_2->listen_backlog_size = 0x80;
  var_2->port = uVar1;
  ap = (type_10)var_24[-0x40];
  var_2->apc = (type_17)var_24[-0x43];
  var_2->default_handler_cls = (void *)var_24[-0x42];
  var_2->unescape_callback = (UnescapeCallback)(var_14 + -0x43b9);
  var_2->custom_error_log = (MHD_LogCallback)(var_14 + -0x43e9);
  var_2->custom_error_log_cls = (void *)**(type_11 **)(var_14 + 0x14497);
  if (((type_3)var_39 & 0xc) == 4) {
    var_24[-0x43] = ap;
    var_24[-0x4a] = var_14 + 0xbff7;
    var_24[-0x4b] = var_2;
    var_24[-0x4c] = 0x1bebc;
    var_27((type_1 *)var_24[-0x4b],(char *)var_24[-0x4a]);
    ap = (type_10)var_24[-0x43];
    var_39 = (type_12 *)(var_2->options | var_3);
    var_2->options = (type_6)var_39;
LAB_0001bed2:
    if (((type_3)var_39 & 0x100) != 0) {
      var_39 = (type_12 *)((type_3)var_39 | 0x400);
      var_2->options = (type_6)var_39;
    }
  }
  else {
    if (((type_3)var_39 & 8) != 0) goto LAB_0001bed2;
    var_39 = (type_12 *)((type_3)var_39 & 0xfffffbff);
    var_2->options = (type_6)var_39;
  }
  puVar23 = var_24 + -0x47;
  puVar25 = var_24 + -0x47;
  var_2->digest_auth_rand_size = 0;
  var_2->digest_auth_random = (char *)0x0;
  var_2->nonce_nc_size = 4;
  var_24[-0x48] = 0x1bd33;
  var_29 = var_28(var_2,(type_18 **)(var_24 + -0x3a),ap);
  puVar22 = var_24 + -0x47;
  if (var_29 == var_30) {
    var_31 = var_2->options;
    if ((var_2->notify_completed == (type_19)0x0) ||
       ((var_31 & var_32) == var_4)) {
      if ((var_31 & var_33) == var_4) goto LAB_0001bd6c;
    }
    else {
      var_2->options = var_31 | var_33;
    }
    puVar25 = var_24 + -0x47;
    if (var_2->worker_pool_size == 0) goto LAB_0001c310;
LAB_0001bd6c:
    var_20 = var_2->nonce_nc_size;
    if (var_20 != 0) {
      var_39 = (type_12 *)(var_20 * 0x94);
      if (var_20 != (type_3)var_39 / 0x94) goto LAB_0001c3a0;
      *(type_12 **)((int)puVar25 + -0x10) = var_39;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1bd9c;
      var_35 = (type_5 *)var_34(*(size_t *)((int)puVar25 + -0x10));
      var_2->nnc = var_35;
      if (var_35 == (type_5 *)0x0) {
        *(type_11 *)((int)puVar25 + -4) = 0x1cb57;
        piVar6 = var_12();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1cb61;
        pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
        var_57 = (type_9 *)((int)puVar25 + -8);
        *(char **)((int)puVar25 + -8) = pcVar16;
        var_14 = var_14 + 0xc17b;
        goto LAB_0001c3a9;
      }
    }
    *(type_12 **)((int)puVar25 + 0x14) = &var_2->nnc_lock;
    *(type_11 *)((int)puVar25 + -0xc) = 0;
    *(type_12 **)((int)puVar25 + -0x10) = &var_2->nnc_lock;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1bdc2;
    var_38 = var_37(*(type_16 **)((int)puVar25 + -0x10),
                                *(type_20 **)((int)puVar25 + -0xc));
    if (var_38 == 0) {
      var_31 = var_2->options;
      if (((var_31 & var_3) == var_4) &&
         (var_39 = (type_12 *)var_2->worker_pool_size, var_39 != (type_12 *)0x0)) {
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xc1d7;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1bf00;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        goto LAB_0001bf08;
      }
      var_25 = (type_8)var_2->listen_fd;
      *(type_8 *)((int)puVar25 + 0x10) = var_25;
      if (var_25 == (type_8)0xffffffff) goto LAB_0001c078;
LAB_0001bdf8:
      if ((var_2->port == 0) && ((var_2->options & var_40) == var_4)) {
        *(type_11 *)((int)puVar25 + 0x38) = 0x80;
        var_25 = (type_8)((int)puVar25 + 0x6c);
        for (var_38 = 0x20; var_38 != 0; var_38 = var_38 + -1) {
          *(int *)var_25 = 0;
          var_25 = var_25 + ((type_3)bVar31 * -2 + 1) * 4;
        }
        *(type_9 **)((int)puVar25 + -8) = (type_9 *)((int)puVar25 + 0x38);
        *(type_8 *)((int)puVar25 + -0xc) =
             (type_8)((int)puVar25 + 0x6c);
        *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c3ef;
        var_38 = var_41(*(int *)((int)puVar25 + -0x10),*(type_18 **)((int)puVar25 + -0xc),
                             *(type_21 **)((int)puVar25 + -8));
        if (var_38 != 0) goto LAB_0001c540;
        if (*(type_3 *)((int)puVar25 + 0x38) < 0x81) {
          var_42 = *(short *)((int)puVar25 + 0x6c);
          if ((var_42 == 2) || (var_42 == 10)) {
            var_2->port =
                 *(type_22 *)((int)puVar25 + 0x6e) >> 8 | *(type_22 *)((int)puVar25 + 0x6e) << 8;
          }
          else if (var_42 == 1) {
            var_39 = (type_12 *)0x0;
            var_2->port = 0;
          }
          else {
            *(int *)((int)puVar25 + -0xc) = var_14 + 0xb328;
            *(type_1 **)((int)puVar25 + -0x10) = var_2;
            *(type_11 *)((int)puVar25 + -0x14) = 0x1c43b;
            var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            var_2->port = 0;
          }
        }
        else {
          *(int *)((int)puVar25 + -0xc) = var_14 + 0xc2bb;
          *(type_1 **)((int)puVar25 + -0x10) = var_2;
          *(type_11 *)((int)puVar25 + -0x14) = 0x1c7b8;
          var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        }
      }
      do {
        *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
        *(type_11 *)((int)puVar25 + -0x14) = 0x1be1f;
        var_38 = var_43(*(type_7 *)((int)puVar25 + -0x10));
        if (var_38 == 0) {
          *(type_11 *)((int)puVar25 + -4) = 0x1c455;
          var_39 = (type_12 *)var_12();
          *(int *)((int)puVar25 + -0x10) = (var_39->__data).__lock;
          *(type_11 *)((int)puVar25 + -0x14) = 0x1c461;
          pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
          *(char **)((int)puVar25 + -8) = pcVar16;
          *(int *)((int)puVar25 + -0xc) = var_14 + 0xc307;
          *(type_1 **)((int)puVar25 + -0x10) = var_2;
          *(type_11 *)((int)puVar25 + -0x14) = 0x1c472;
          var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
          if (((var_2->options & var_16) != var_4) ||
             (var_2->worker_pool_size != 0)) {
            *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
            *(type_11 *)((int)puVar25 + -0x14) = 0x1c57c;
            var_38 = var_15(*(int *)((int)puVar25 + -0x10));
            if ((var_38 != 0) && ((var_39->__data).__lock == 9)) {
              *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
              *(type_11 *)((int)puVar25 + -8) = 0x18d4;
              *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
              *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
              pcVar4 = *(type_2 **)(var_14 + 0x14633);
              *(type_11 *)((int)puVar25 + -0x14) = 0x1c5af;
              (*pcVar4)();
              puVar25 = (type_11 *)((int)puVar25 + -0x10);
              goto LAB_0001c5b0;
            }
            goto LAB_0001bf08;
          }
          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||
             ((var_2->options & (var_16|var_44)) != var_4)) {
            *(type_12 **)((int)puVar25 + 0xc) = &var_2->per_ip_connection_mutex;
            *(type_11 *)((int)puVar25 + -0xc) = 0;
            *(type_12 **)((int)puVar25 + -0x10) = &var_2->per_ip_connection_mutex;
            *(type_11 *)((int)puVar25 + -0x14) = 0x1c4b8;
            var_38 = var_37(*(type_16 **)((int)puVar25 + -0x10),
                                        *(type_20 **)((int)puVar25 + -0xc));
            if (var_38 == 0) goto LAB_0001c200;
            *(int *)((int)puVar25 + -0xc) = var_14 + 0xc38f;
            *(type_1 **)((int)puVar25 + -0x10) = var_2;
            *(type_11 *)((int)puVar25 + -0x14) = 0x1c4d3;
            var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            goto LAB_0001c02e;
          }
        }
        else {
          var_31 = var_2->options;
          if ((*(int *)((int)puVar25 + 0x10) < 0x400) ||
             ((var_31 & (var_16|var_44)) != var_4)) goto LAB_0001be45;
        }
        *(type_11 *)((int)puVar25 + -4) = 0x400;
        var_25 = *(type_8 *)((int)puVar25 + 0x10);
        *(type_8 *)((int)puVar25 + -8) = var_25;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb85b;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c4f7;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        *(type_8 *)((int)puVar25 + -0x10) = var_25;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c4ff;
        var_38 = var_15(*(int *)((int)puVar25 + -0x10));
        if (var_38 == 0) goto LAB_0001bf08;
        *(type_11 *)((int)puVar25 + -4) = 0x1c50f;
        piVar6 = var_12();
        if (*piVar6 != 9) goto LAB_0001bf08;
        *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
        *(type_11 *)((int)puVar25 + -8) = 0x18e3;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
        *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
        pcVar4 = *(type_2 **)(var_14 + 0x14633);
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c537;
        (*pcVar4)();
        puVar25 = (type_11 *)((int)puVar25 + -0x10);
LAB_0001c540:
        *(type_11 *)((int)puVar25 + -4) = 0x1c545;
        piVar6 = var_12();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c54f;
        pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xc293;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c560;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      } while( true );
    }
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xc1ab;
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c6d0;
    var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    *(type_5 **)((int)puVar25 + -0x10) = var_2->nnc;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c6dc;
    var_22(*(void **)((int)puVar25 + -0x10));
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c6e6;
    var_22(*(void **)((int)puVar25 + -0x10));
    goto LAB_0001bf79;
  }
LAB_0001bf6b:
  *(type_1 **)((int)puVar22 + -0x10) = var_2;
  *(type_11 *)((int)puVar22 + -0x14) = 0x1bf76;
  var_22(*(void **)((int)puVar22 + -0x10));
  puVar25 = puVar22;
LAB_0001bf79:
  if (*(int *)((int)puVar25 + 0xec) == *(int *)(var_23 + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  *(type_11 *)((int)puVar25 + -4) = 0x1cc8f;
  var_45();
  while( true ) {
    *(type_12 **)((int)puVar25 + 0xc) = &var_2->per_ip_connection_mutex;
    *(type_11 *)((int)puVar25 + -0xc) = 0;
    *(type_12 **)((int)puVar25 + -0x10) = &var_2->per_ip_connection_mutex;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c005;
    var_38 = var_37(*(type_16 **)((int)puVar25 + -0x10),
                                *(type_20 **)((int)puVar25 + -0xc));
    if (var_38 == 0) goto LAB_0001c200;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xc38f;
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c020;
    var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;
LAB_0001c02e:
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c03a;
    var_38 = var_15(*(int *)((int)puVar25 + -0x10));
    if (var_38 == 0) goto LAB_0001bf08;
    *(type_11 *)((int)puVar25 + -4) = 0x1c04a;
    piVar6 = var_12();
    if (*piVar6 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
    *(type_11 *)((int)puVar25 + -8) = 0x1904;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
    pcVar4 = *(type_2 **)(var_14 + 0x14633);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c072;
    var_31 = (*pcVar4)();
    puVar25 = (type_11 *)((int)puVar25 + -0x10);
LAB_0001c078:
    if ((var_31 & var_40) == var_4) break;
LAB_0001be45:
    if (((var_31 & var_16) != var_4) &&
       (var_25 = (type_8)var_2->worker_pool_size,
       var_25 == (type_8)0x0)) {
      if ((var_31 & var_32) != var_4) {
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xc33f;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1be74;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        goto LAB_0001bf08;
      }
      *(type_11 *)((int)puVar25 + -4) = 0x1bfdf;
      var_29 = var_46(var_2);
      if (var_29 != var_30) goto LAB_0001bf08;
    }
  }
  *(type_3 *)((int)puVar25 + -0x10) =
       (-(type_3)((var_31 & var_47) == var_4) & 0xfffffff8) + 10;
  *(type_11 *)((int)puVar25 + -0x14) = 0x1c098;
  var_49 = var_48(*(int *)((int)puVar25 + -0x10));
  *(type_7 *)((int)puVar25 + 0x10) = var_49;
  if (var_49 != -1) {
    if (var_2->listening_address_reuse == 0) {
LAB_0001c5b0:
      *(type_11 *)((int)puVar25 + -0x10) = 4;
      *(type_9 **)((int)puVar25 + -0x14) = (type_9 *)((int)puVar25 + 0x30);
      *(type_11 *)((int)puVar25 + -0x18) = 2;
      *(type_11 *)((int)puVar25 + -0x1c) = 1;
      *(type_11 *)((int)puVar25 + -0x20) = *(type_11 *)((int)puVar25 + 0x10);
      *(type_11 *)((int)puVar25 + -0x24) = 0x1c5c7;
      var_38 = var_50(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(type_21 *)((int)puVar25 + -0x10));
      if (var_38 < 0) {
        *(type_11 *)((int)puVar25 + -4) = 0x1c5d7;
        piVar6 = var_12();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c5e1;
        pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb311;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c5f2;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      }
    }
    else if (0 < var_2->listening_address_reuse) {
      *(type_11 *)((int)puVar25 + -0x10) = 4;
      var_39 = (type_12 *)((int)puVar25 + 0x30);
      *(type_12 **)((int)puVar25 + -0x14) = var_39;
      *(type_11 *)((int)puVar25 + -0x18) = 2;
      *(type_11 *)((int)puVar25 + -0x1c) = 1;
      *(type_11 *)((int)puVar25 + -0x20) = *(type_11 *)((int)puVar25 + 0x10);
      *(type_11 *)((int)puVar25 + -0x24) = 0x1c707;
      var_38 = var_50(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(type_21 *)((int)puVar25 + -0x10));
      if (var_38 < 0) {
        *(type_11 *)((int)puVar25 + -4) = 0x1cb9d;
        piVar6 = var_12();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1cba7;
        pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb311;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1cbb8;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      }
      *(type_11 *)((int)puVar25 + -0x10) = 4;
      *(type_12 **)((int)puVar25 + -0x14) = var_39;
      *(type_11 *)((int)puVar25 + -0x18) = 0xf;
      *(type_11 *)((int)puVar25 + -0x1c) = 1;
      *(type_11 *)((int)puVar25 + -0x20) = *(type_11 *)((int)puVar25 + 0x10);
      *(type_11 *)((int)puVar25 + -0x24) = 0x1c725;
      var_38 = var_50(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(type_21 *)((int)puVar25 + -0x10));
      if (var_38 < 0) {
        *(type_11 *)((int)puVar25 + -4) = 0x1c735;
        piVar6 = var_12();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c73f;
        pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb311;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c750;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
        goto LAB_0001bf08;
      }
    }
    var_31 = var_2->options;
    var_8 = *(type_9 **)((int)puVar25 + 0x34);
    if ((var_31 & var_47) == var_4) goto LAB_0001c698;
    *(type_11 *)((int)puVar25 + 0x38) = 0x1c;
    if (var_8 == (type_9 *)0x0) {
      var_39 = (type_12 *)((int)puVar25 + 0x54);
      var_20 = 0;
      do {
        *(type_11 *)((int)var_39 + var_20) = 0;
        var_20 = var_20 + 4;
      } while (var_20 < 0x18);
      *(type_11 *)((int)puVar25 + 0x58) = 0;
      *(type_22 *)((int)puVar25 + 0x52) =
           *(type_22 *)((int)puVar25 + 0xc) >> 8 | *(type_22 *)((int)puVar25 + 0xc) << 8;
      *(type_23 *)((int)puVar25 + 0x50) = 10;
      *(type_11 *)((int)puVar25 + 0x5c) = 0;
      *(type_11 *)((int)puVar25 + 0x60) = 0;
      *(type_9 **)((int)puVar25 + 0x34) = (type_9 *)((int)puVar25 + 0x50);
      *(type_11 *)((int)puVar25 + 100) = 0;
      var_2->listen_fd = *(type_7 *)((int)puVar25 + 0x10);
    }
    else {
      var_2->listen_fd = *(type_7 *)((int)puVar25 + 0x10);
    }
    *(type_3 *)((int)puVar25 + 0x3c) = (type_3)((var_31 & var_51) != var_51);
    *(type_11 *)((int)puVar25 + -0x10) = 4;
    *(type_9 **)((int)puVar25 + -0x14) = (type_9 *)((int)puVar25 + 0x3c);
    *(type_11 *)((int)puVar25 + -0x18) = 0x1a;
    *(type_11 *)((int)puVar25 + -0x1c) = 0x29;
    *(type_11 *)((int)puVar25 + -0x20) = *(type_11 *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x24) = 0x1c114;
    var_38 = var_50(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                        *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                        *(type_21 *)((int)puVar25 + -0x10));
    if (var_38 < 0) {
      *(type_11 *)((int)puVar25 + -4) = 0x1cb75;
      piVar6 = var_12();
      *(int *)((int)puVar25 + -0x10) = *piVar6;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1cb7f;
      pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
      *(char **)((int)puVar25 + -8) = pcVar16;
      *(int *)((int)puVar25 + -0xc) = var_14 + 0xb311;
      *(type_1 **)((int)puVar25 + -0x10) = var_2;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1cb90;
      var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    }
    uVar20 = *(type_11 *)((int)puVar25 + 0x38);
    var_8 = *(type_9 **)((int)puVar25 + 0x34);
    goto LAB_0001c127;
  }
  *(type_11 *)((int)puVar25 + -4) = 0x1c765;
  piVar6 = var_12();
  *(int *)((int)puVar25 + -0x10) = *piVar6;
  *(type_11 *)((int)puVar25 + -0x14) = 0x1c76f;
  pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
  *(char **)((int)puVar25 + -8) = pcVar16;
  *(int *)((int)puVar25 + -0xc) = var_14 + 0xc21f;
  *(type_1 **)((int)puVar25 + -0x10) = var_2;
  *(type_11 *)((int)puVar25 + -0x14) = 0x1c780;
  var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
LAB_0001bf08:
  if (var_2->epoll_fd != -1) {
    *(int *)((int)puVar25 + -0x10) = var_2->epoll_fd;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1bf1c;
    var_15(*(int *)((int)puVar25 + -0x10));
  }
  *(type_5 **)((int)puVar25 + -0x10) = var_2->nnc;
  *(type_11 *)((int)puVar25 + -0x14) = 0x1bf2d;
  var_22(*(void **)((int)puVar25 + -0x10));
  *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x14);
  *(type_11 *)((int)puVar25 + -0x14) = 0x1bf37;
  var_38 = var_17(*(type_16 **)((int)puVar25 + -0x10));
  if (var_38 != 0) {
    *(int *)((int)puVar25 + -4) = var_14 + 0xb2e1;
    *(type_11 *)((int)puVar25 + -8) = 0x19e2;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
    var_8 = (type_9 *)((int)puVar25 + -0x10);
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
    pcVar4 = *(type_2 **)(var_14 + 0x14633);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1ccae;
    (*pcVar4)();
    goto LAB_0001ccae;
  }
  var_38 = (var_2->itc).fd;
  puVar22 = puVar25;
  if (var_38 != -1) {
    *(int *)((int)puVar25 + -0x10) = var_38;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1bf56;
    var_38 = var_15(*(int *)((int)puVar25 + -0x10));
    if (var_38 != 0) {
      *(type_11 *)((int)puVar25 + -4) = 0x1bf62;
      piVar6 = var_12();
      if (*piVar6 == 9) goto LAB_0001c5fa;
    }
  }
  goto LAB_0001bf6b;
LAB_0001c5fa:
  *(int *)((int)puVar25 + -4) = var_14 + 0xb2c9;
  *(type_11 *)((int)puVar25 + -8) = 0x19f0;
  *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
  *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
  pcVar4 = *(type_2 **)(var_14 + 0x14633);
  *(type_11 *)((int)puVar25 + -0x14) = 0x1c619;
  (*pcVar4)();
  puVar25 = (type_11 *)((int)puVar25 + -0x10);
  do {
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xc38f;
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c630;
    var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    *(type_12 **)((int)puVar25 + -0x10) = var_39;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c638;
    var_38 = var_17(*(type_16 **)((int)puVar25 + -0x10));
    var_24 = puVar25;
    if (var_38 != 0) goto LAB_0001cd49;
    if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c659;
    var_38 = var_15(*(int *)((int)puVar25 + -0x10));
    if (var_38 == 0) goto LAB_0001bf08;
    *(type_11 *)((int)puVar25 + -4) = 0x1c669;
    piVar6 = var_12();
    if (*piVar6 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
    *(type_11 *)((int)puVar25 + -8) = 0x1911;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
    pcVar4 = *(type_2 **)(var_14 + 0x14633);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c691;
    var_8 = (type_9 *)(*pcVar4)();
    puVar25 = (type_11 *)((int)puVar25 + -0x10);
LAB_0001c698:
    *(type_11 *)((int)puVar25 + 0x38) = 0x10;
    if (var_8 == (type_9 *)0x0) {
      var_8 = (type_9 *)((int)puVar25 + 0x40);
      *(type_23 *)((int)puVar25 + 0x40) = 2;
      *(type_11 *)((int)puVar25 + 0x44) = 0;
      *(type_11 *)((int)puVar25 + 0x48) = 0;
      *(type_11 *)((int)puVar25 + 0x4c) = 0;
      *(type_22 *)((int)puVar25 + 0x42) =
           *(type_22 *)((int)puVar25 + 0xc) >> 8 | *(type_22 *)((int)puVar25 + 0xc) << 8;
      uVar20 = 0x10;
      *(type_9 **)((int)puVar25 + 0x34) = var_8;
      var_2->listen_fd = *(type_7 *)((int)puVar25 + 0x10);
    }
    else {
      uVar20 = 0x10;
      var_2->listen_fd = *(type_7 *)((int)puVar25 + 0x10);
    }
LAB_0001c127:
    *(type_11 *)((int)puVar25 + -8) = uVar20;
    *(type_9 **)((int)puVar25 + -0xc) = var_8;
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c135;
    var_38 = var_52(*(int *)((int)puVar25 + -0x10),*(type_18 **)((int)puVar25 + -0xc),
                  *(type_21 *)((int)puVar25 + -8));
    if (var_38 == -1) {
      *(type_11 *)((int)puVar25 + -4) = 0x1c7c5;
      var_39 = (type_12 *)var_12();
      *(int *)((int)puVar25 + -0x10) = (var_39->__data).__lock;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1c7d1;
      pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
      *(char **)((int)puVar25 + -0x14) = pcVar16;
      *(type_3 *)((int)puVar25 + -0x18) = (type_3)*(type_22 *)((int)puVar25 + 0xc);
      *(int *)((int)puVar25 + -0x1c) = var_14 + 0xc24b;
      *(type_1 **)((int)puVar25 + -0x20) = var_2;
      *(type_11 *)((int)puVar25 + -0x24) = 0x1c7e5;
      var_27(*(type_1 **)((int)puVar25 + -0x20),*(char **)((int)puVar25 + -0x1c));
      *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
      *(type_11 *)((int)puVar25 + -0x14) = 0x1c7f1;
      var_38 = var_15(*(int *)((int)puVar25 + -0x10));
      if ((var_38 == 0) || ((var_39->__data).__lock != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
      *(type_11 *)((int)puVar25 + -8) = 0x184d;
      *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
      *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
      pcVar4 = *(type_2 **)(var_14 + 0x14633);
      *(type_11 *)((int)puVar25 + -0x14) = 0x1c824;
      (*pcVar4)();
      puVar25 = (type_11 *)((int)puVar25 + -0x10);
      goto LAB_0001c828;
    }
    if ((var_2->options & var_53) != var_4) {
      if (var_2->fastopen_queue_size == 0) {
        var_2->fastopen_queue_size = 10;
      }
      *(type_11 *)((int)puVar25 + -0x10) = 4;
      *(type_3 **)((int)puVar25 + -0x14) = &var_2->fastopen_queue_size;
      *(type_11 *)((int)puVar25 + -0x18) = 0x17;
      *(type_11 *)((int)puVar25 + -0x1c) = 6;
      *(type_11 *)((int)puVar25 + -0x20) = *(type_11 *)((int)puVar25 + 0x10);
      *(type_11 *)((int)puVar25 + -0x24) = 0x1c177;
      var_38 = var_50(*(int *)((int)puVar25 + -0x20),*(int *)((int)puVar25 + -0x1c),
                          *(int *)((int)puVar25 + -0x18),*(void **)((int)puVar25 + -0x14),
                          *(type_21 *)((int)puVar25 + -0x10));
      if (var_38 != 0) {
        *(type_11 *)((int)puVar25 + -4) = 0x1cb2f;
        piVar6 = var_12();
        *(int *)((int)puVar25 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1cb39;
        pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
        *(char **)((int)puVar25 + -8) = pcVar16;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb311;
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1cb4a;
        var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      }
    }
    *(type_3 *)((int)puVar25 + -0xc) = var_2->listen_backlog_size;
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c194;
    var_38 = var_54(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));
    if (-1 < var_38) goto LAB_0001bdf8;
    *(type_11 *)((int)puVar25 + -4) = 0x1c1a4;
    var_39 = (type_12 *)var_12();
    *(int *)((int)puVar25 + -0x10) = (var_39->__data).__lock;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c1b0;
    pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
    *(char **)((int)puVar25 + -8) = pcVar16;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xc26b;
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c1c1;
    var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    var_25 = *(type_8 *)((int)puVar25 + -0x10);
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c1cb;
    var_38 = var_15(*(int *)((int)puVar25 + -0x10));
    if ((var_38 == 0) || ((var_39->__data).__lock != 9)) goto LAB_0001bf08;
    *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
    *(type_11 *)((int)puVar25 + -8) = 0x186b;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
    pcVar4 = *(type_2 **)(var_14 + 0x14633);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c1fe;
    (*pcVar4)();
    puVar25 = (type_11 *)((int)puVar25 + -0x10);
LAB_0001c200:
    var_39 = &var_2->cleanup_connection_mutex;
    *(type_11 *)((int)puVar25 + -0xc) = 0;
    *(type_12 **)((int)puVar25 + -0x10) = var_39;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c211;
    var_38 = var_37(*(type_16 **)((int)puVar25 + -0x10),
                                *(type_20 **)((int)puVar25 + -0xc));
  } while (var_38 != 0);
  if ((var_2->options & (var_40|var_3)) !=
      var_3) goto LAB_0001bf79;
  var_25 = (type_8)var_2->worker_pool_size;
  if (var_25 == (type_8)0x0) {
    var_38 = var_14 + 0xb306;
    if ((var_2->options & var_32) != var_4) {
      var_38 = var_14 + 0xb2fb;
    }
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(int *)((int)puVar25 + -0x14) = var_14 + -0x8d9;
    *(size_t *)((int)puVar25 + -0x18) = var_2->thread_stack_size;
    *(int *)((int)puVar25 + -0x1c) = var_38;
    *(type_24 **)((int)puVar25 + -0x20) = &var_2->pid;
    *(type_11 *)((int)puVar25 + -0x24) = 0x1c270;
    var_38 = var_55
                       (*(type_24 **)((int)puVar25 + -0x20),
                        *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),
                        *(type_25 *)((int)puVar25 + -0x14),
                        *(void **)((int)puVar25 + -0x10));
    if (var_38 != 0) goto LAB_0001bf79;
    *(type_11 *)((int)puVar25 + -4) = 0x1c280;
    var_25 = (type_8)var_12();
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)var_25;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c28c;
    pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
    *(char **)((int)puVar25 + -8) = pcVar16;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xc3c7;
    puVar23 = (type_11 *)((int)puVar25 + -0x10);
    *(type_1 **)((int)puVar25 + -0x10) = var_2;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c29d;
    var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
    *(type_12 **)((int)puVar25 + -0x10) = var_39;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c2a5;
    var_38 = var_17(*(type_16 **)((int)puVar25 + -0x10));
    var_5 = (type_9 *)puVar25;
    if (var_38 == 0) {
      *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0xc);
      *(type_11 *)((int)puVar25 + -0x14) = 0x1c2bc;
      var_38 = var_17(*(type_16 **)((int)puVar25 + -0x10));
      if (var_38 != 0) goto LAB_0001cd2a;
      if (*(int *)((int)puVar25 + 0x10) == -1) goto LAB_0001bf08;
      *(int *)((int)puVar25 + -0x10) = *(int *)((int)puVar25 + 0x10);
      *(type_11 *)((int)puVar25 + -0x14) = 0x1c2dd;
      var_38 = var_15(*(int *)((int)puVar25 + -0x10));
      if ((var_38 == 0) || (*(int *)var_25 != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar25 + -4) = var_14 + 0xb22d;
      *(type_11 *)((int)puVar25 + -8) = 0x193e;
      *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
      *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
      pcVar4 = *(type_2 **)(var_14 + 0x14633);
      *(type_11 *)((int)puVar25 + -0x14) = 0x1c310;
      (*pcVar4)();
LAB_0001c310:
      *(type_11 *)((int)puVar23 + -0xc) = 0x80800;
      *(type_11 *)((int)puVar23 + -0x10) = 0;
      *(type_11 *)((int)puVar23 + -0x14) = 0x1c31f;
      var_38 = var_56(*(int *)((int)puVar23 + -0x10),*(int *)((int)puVar23 + -0xc));
      (var_2->itc).fd = var_38;
      if (var_38 == -1) {
        *(type_11 *)((int)puVar23 + -4) = 0x1cbc5;
        piVar6 = var_12();
        *(int *)((int)puVar23 + -0x10) = *piVar6;
        *(type_11 *)((int)puVar23 + -0x14) = 0x1cbcf;
        pcVar16 = var_36(*(int *)((int)puVar23 + -0x10));
        var_57 = (type_9 *)((int)puVar23 + -8);
        *(char **)((int)puVar23 + -8) = pcVar16;
        var_14 = var_14 + 0xc0c7;
        goto LAB_0001c3a9;
      }
      puVar25 = puVar23;
      if (((var_2->options & (var_16|var_44)) != var_4) || (var_38 < 0x400))
      goto LAB_0001bd6c;
      *(int *)((int)puVar23 + -0xc) = var_14 + 0xc103;
      *(type_1 **)((int)puVar23 + -0x10) = var_2;
      *(type_11 *)((int)puVar23 + -0x14) = 0x1c35c;
      var_27(*(type_1 **)((int)puVar23 + -0x10),*(char **)((int)puVar23 + -0xc));
      *(int *)((int)puVar23 + -0x10) = (var_2->itc).fd;
      *(type_11 *)((int)puVar23 + -0x14) = 0x1c368;
      var_38 = var_15(*(int *)((int)puVar23 + -0x10));
      puVar22 = puVar23;
      if (var_38 != 0) {
        *(type_11 *)((int)puVar23 + -4) = 0x1c378;
        piVar6 = var_12();
        if (*piVar6 == 9) {
          *(int *)((int)puVar23 + -4) = var_14 + 0xb2c9;
          *(type_11 *)((int)puVar23 + -8) = 0x172d;
          *(int *)((int)puVar23 + -0xc) = var_14 + 0xb1ff;
          puVar25 = (type_11 *)((int)puVar23 + -0x10);
          *(type_11 *)((int)puVar23 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
          pcVar4 = *(type_2 **)(var_14 + 0x14633);
          *(type_11 *)((int)puVar23 + -0x14) = 0x1c3a0;
          (*pcVar4)();
LAB_0001c3a0:
          var_14 = var_14 + 0xc153;
          var_57 = (type_9 *)((int)puVar25 + -8);
LAB_0001c3a9:
          *(int *)(var_57 + -4) = var_14;
          *(type_1 **)(var_57 + -8) = var_2;
          *(type_11 *)(var_57 + -0xc) = 0x1c3b0;
          var_27(*(type_1 **)(var_57 + -8),*(char **)(var_57 + -4));
          *(type_1 **)(var_57 + -8) = var_2;
          *(type_11 *)(var_57 + -0xc) = 0x1c3ba;
          var_22(*(void **)(var_57 + -8));
          puVar25 = (type_11 *)(var_57 + 8);
          goto LAB_0001bf79;
        }
      }
      goto LAB_0001bf6b;
    }
LAB_0001cccd:
    *(int *)(var_5 + -4) = var_14 + 0xb2e1;
    *(type_11 *)(var_5 + -8) = 0x193b;
    *(int *)(var_5 + -0xc) = var_14 + 0xb1ff;
    puVar25 = (type_11 *)(var_5 + -0x10);
    *(type_11 *)(var_5 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
    pcVar4 = *(type_2 **)(var_14 + 0x14633);
    *(type_11 *)(var_5 + -0x14) = 0x1ccec;
    (*pcVar4)();
LAB_0001ccec:
    *(int *)((int)puVar25 + -4) = var_14 + 0xb2c9;
    *(type_11 *)((int)puVar25 + -8) = 0x1977;
    *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
    pcVar4 = *(type_2 **)(var_14 + 0x14633);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1cd0b;
    (*pcVar4)();
    var_8 = (type_9 *)((int)puVar25 + -0x10);
  }
  else {
LAB_0001c828:
    var_39 = (type_12 *)var_2->connection_limit;
    *(int *)((int)puVar25 + -0x10) = (int)var_25 * 0x130;
    *(type_11 *)((int)puVar25 + -0x14) = 0x1c83d;
    var_58 = (type_1 *)var_34(*(size_t *)((int)puVar25 + -0x10));
    var_2->worker_pool = var_58;
    if (var_58 != (type_1 *)0x0) {
      *(type_11 *)((int)puVar25 + 0x18) = 0;
      *(type_3 *)((int)puVar25 + 0x24) = (type_3)var_39 / (type_3)var_25;
      *(type_3 *)((int)puVar25 + 0x28) = (type_3)var_39 % (type_3)var_25;
      *(type_3 *)((int)puVar25 + 0x2c) = (type_3)var_39 / (type_3)var_25 + 1;
      while( true ) {
        var_58 = (type_1 *)((int)&var_58->default_handler + *(int *)((int)puVar25 + 0x18));
        var_58->default_handler = var_2->default_handler;
        var_25 = (type_8)((type_3)&var_58->default_handler_cls & 0xfffffffc);
        var_38 = (int)var_58 - (int)var_25;
        var_58->listen_backlog_size = var_2->listen_backlog_size;
        var_39 = (type_12 *)((int)var_2 - var_38);
        for (var_20 = var_38 + 0x130U >> 2; var_20 != 0; var_20 = var_20 - 1) {
          *(int *)var_25 = (var_39->__data).__lock;
          var_39 = (type_12 *)((int)var_39 + (type_3)bVar31 * -8 + 4);
          var_25 = var_25 + ((type_3)bVar31 * -2 + 1) * 4;
        }
        var_58->master = var_2;
        var_58->worker_pool_size = 0;
        var_58->worker_pool = (type_1 *)0x0;
        if ((var_2->options & var_33) == var_4) {
          (var_58->itc).fd = -1;
        }
        else {
          *(type_1 **)((int)puVar25 + 0x1c) = var_2;
          *(type_11 *)((int)puVar25 + -0xc) = 0x80800;
          *(type_11 *)((int)puVar25 + -0x10) = 0;
          *(type_11 *)((int)puVar25 + -0x14) = 0x1c99a;
          var_38 = var_56(*(int *)((int)puVar25 + -0x10),*(int *)((int)puVar25 + -0xc));
          (var_58->itc).fd = var_38;
          var_2 = *(type_1 **)((int)puVar25 + 0x1c);
          if (var_38 == -1) {
            *(type_11 *)((int)puVar25 + -4) = 0x1cc67;
            piVar6 = var_12();
            *(int *)((int)puVar25 + -0x10) = *piVar6;
            *(type_11 *)((int)puVar25 + -0x14) = 0x1cc71;
            pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
            *(char **)((int)puVar25 + -8) = pcVar16;
            *(int *)((int)puVar25 + -0xc) = var_14 + 0xc3eb;
            *(type_1 **)((int)puVar25 + -0x10) = var_2;
            *(type_11 *)((int)puVar25 + -0x14) = 0x1cc82;
            var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            goto LAB_0001ca07;
          }
          if (((var_2->options & (var_16|var_44)) == var_4) && (0x3ff < var_38)
             ) {
            *(type_1 **)((int)puVar25 + 0x18) = var_58;
            *(type_11 *)((int)puVar25 + -4) = extraout_ECX;
            *(type_11 *)((int)puVar25 + -8) = extraout_ECX;
            *(int *)((int)puVar25 + -0xc) = var_14 + 0xc42b;
            *(type_1 **)((int)puVar25 + -0x10) = var_2;
            *(type_11 *)((int)puVar25 + -0x14) = 0x1c9e2;
            var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
            var_39 = *(type_12 **)((int)puVar25 + -0x10);
            *(type_11 *)((int)puVar25 + -0x10) =
                 *(type_11 *)(*(int *)((int)puVar25 + 0x18) + 0xd8);
            *(type_11 *)((int)puVar25 + -0x14) = 0x1c9f2;
            var_38 = var_15(*(int *)((int)puVar25 + -0x10));
            if (var_38 == 0) goto LAB_0001ca07;
            *(type_11 *)((int)puVar25 + -4) = 0x1c9fe;
            piVar6 = var_12();
            if (*piVar6 != 9) goto LAB_0001ca07;
            goto LAB_0001ccec;
          }
        }
        var_20 = *(type_3 *)((int)puVar25 + 0x2c);
        if (*(type_3 *)((int)puVar25 + 0x28) <= *(type_3 *)((int)puVar25 + 0x20)) {
          var_20 = *(type_3 *)((int)puVar25 + 0x24);
        }
        var_58->connection_limit = var_20;
        if ((var_2->options & var_16) != var_4) {
          *(type_1 **)((int)puVar25 + 0x1c) = var_2;
          *(type_11 *)((int)puVar25 + -4) = 0x1c8ad;
          var_29 = var_46(var_58);
          var_2 = *(type_1 **)((int)puVar25 + 0x1c);
          if (var_29 != var_30) goto LAB_0001ca07;
        }
        var_39 = &var_58->cleanup_connection_mutex;
        *(type_1 **)((int)puVar25 + 0x1c) = var_2;
        *(type_11 *)((int)puVar25 + -0xc) = 0;
        *(type_12 **)((int)puVar25 + -0x10) = var_39;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1c8cf;
        var_38 = var_37(*(type_16 **)((int)puVar25 + -0x10),
                                    *(type_20 **)((int)puVar25 + -0xc));
        var_2 = *(type_1 **)((int)puVar25 + 0x1c);
        var_8 = (type_9 *)puVar25;
        if (var_38 != 0) goto LAB_0001cc38;
        *(type_1 **)((int)puVar25 + -0x10) = var_58;
        *(int *)((int)puVar25 + -0x14) = var_14 + -0x8d9;
        *(size_t *)((int)puVar25 + -0x18) = var_2->thread_stack_size;
        *(type_1 **)((int)puVar25 + 0x1c) = var_2;
        *(int *)((int)puVar25 + -0x1c) = var_14 + 0xb341;
        *(type_24 **)((int)puVar25 + -0x20) = &var_58->pid;
        *(type_11 *)((int)puVar25 + -0x24) = 0x1c906;
        var_38 = var_55
                           (*(type_24 **)((int)puVar25 + -0x20),
                            *(char **)((int)puVar25 + -0x1c),*(size_t *)((int)puVar25 + -0x18),
                            *(type_25 *)((int)puVar25 + -0x14),
                            *(void **)((int)puVar25 + -0x10));
        var_2 = *(type_1 **)((int)puVar25 + 0x1c);
        if (var_38 == 0) break;
        *(int *)((int)puVar25 + 0x20) = *(int *)((int)puVar25 + 0x20) + 1;
        *(int *)((int)puVar25 + 0x18) = *(int *)((int)puVar25 + 0x18) + 0x130;
        if (var_2->worker_pool_size <= *(type_3 *)((int)puVar25 + 0x20)) goto LAB_0001bf79;
        var_58 = var_2->worker_pool;
      }
      *(type_11 *)((int)puVar25 + -4) = 0x1cbe5;
      piVar6 = var_12();
      *(int *)((int)puVar25 + -0x10) = *piVar6;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1cbef;
      pcVar16 = var_36(*(int *)((int)puVar25 + -0x10));
      *(char **)((int)puVar25 + -8) = pcVar16;
      *(int *)((int)puVar25 + -0xc) = var_14 + 0xc4b7;
      var_8 = (type_9 *)((int)puVar25 + -0x10);
      *(type_1 **)((int)puVar25 + -0x10) = var_2;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1cc00;
      var_27(*(type_1 **)((int)puVar25 + -0x10),*(char **)((int)puVar25 + -0xc));
      *(type_12 **)((int)puVar25 + -0x10) = var_39;
      *(type_11 *)((int)puVar25 + -0x14) = 0x1cc08;
      var_38 = var_17(*(type_16 **)((int)puVar25 + -0x10));
      if (var_38 != 0) {
        *(int *)((int)puVar25 + -4) = var_14 + 0xb2e1;
        *(type_11 *)((int)puVar25 + -8) = 0x19a1;
        *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
        *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
        pcVar4 = *(type_2 **)(var_14 + 0x14633);
        *(type_11 *)((int)puVar25 + -0x14) = 0x1cc32;
        (*pcVar4)();
        var_2 = extraout_EDX;
LAB_0001cc38:
        *(int *)(var_8 + -0xc) = var_14 + 0xc483;
        *(type_1 **)(var_8 + -0x10) = var_2;
        *(type_11 *)(var_8 + -0x14) = 0x1cc4a;
        var_27(*(type_1 **)(var_8 + -0x10),*(char **)(var_8 + -0xc));
        puVar25 = (type_11 *)var_8;
      }
LAB_0001ca07:
      if (*(int *)((int)puVar25 + 0x20) != 0) {
        var_2->worker_pool_size = *(type_3 *)((int)puVar25 + 0x20);
        *(type_1 **)((int)puVar25 + -0x10) = var_2;
        *(type_11 *)((int)puVar25 + -0x14) = 0x1bfc5;
        function_1(*(type_1 **)((int)puVar25 + -0x10));
        goto LAB_0001bf79;
      }
    }
    if (*(int *)((int)puVar25 + 0x10) == -1) {
LAB_0001ca3b:
      *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0xc);
      *(type_11 *)((int)puVar25 + -0x14) = 0x1ca47;
      var_38 = var_17(*(type_16 **)((int)puVar25 + -0x10));
      var_8 = (type_9 *)puVar25;
      if (var_38 == 0) {
        if (var_2->worker_pool != (type_1 *)0x0) {
          *(type_1 **)((int)puVar25 + -0x10) = var_2->worker_pool;
          *(type_11 *)((int)puVar25 + -0x14) = 0x1ca66;
          var_22(*(void **)((int)puVar25 + -0x10));
        }
        goto LAB_0001bf08;
      }
LAB_0001ccae:
      *(int *)(var_8 + -4) = var_14 + 0xb2e1;
      *(type_11 *)(var_8 + -8) = 0x19ba;
      *(int *)(var_8 + -0xc) = var_14 + 0xb1ff;
      var_5 = var_8 + -0x10;
      *(type_11 *)(var_8 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
      pcVar4 = *(type_2 **)(var_14 + 0x14633);
      *(type_11 *)(var_8 + -0x14) = 0x1cccd;
      (*pcVar4)();
      goto LAB_0001cccd;
    }
    *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)((int)puVar25 + 0x10);
    *(type_11 *)((int)puVar25 + -0x14) = 0x1ca26;
    var_38 = var_15(*(int *)((int)puVar25 + -0x10));
    if (var_38 == 0) goto LAB_0001ca3b;
    *(type_11 *)((int)puVar25 + -4) = 0x1ca32;
    piVar6 = var_12();
    var_8 = (type_9 *)puVar25;
    if (*piVar6 != 9) goto LAB_0001ca3b;
  }
  *(int *)(var_8 + -4) = var_14 + 0xb22d;
  *(type_11 *)(var_8 + -8) = 0x19b9;
  *(int *)(var_8 + -0xc) = var_14 + 0xb1ff;
  puVar25 = (type_11 *)(var_8 + -0x10);
  *(type_11 *)(var_8 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
  pcVar4 = *(type_2 **)(var_14 + 0x14633);
  *(type_11 *)(var_8 + -0x14) = 0x1cd2a;
  (*pcVar4)();
LAB_0001cd2a:
  *(int *)((int)puVar25 + -4) = var_14 + 0xb2e1;
  *(type_11 *)((int)puVar25 + -8) = 0x193c;
  *(int *)((int)puVar25 + -0xc) = var_14 + 0xb1ff;
  var_24 = (type_11 *)((int)puVar25 + -0x10);
  *(type_11 *)((int)puVar25 + -0x10) = *(type_11 *)(var_14 + 0x1462f);
  pcVar4 = *(type_2 **)(var_14 + 0x14633);
  *(type_11 *)((int)puVar25 + -0x14) = 0x1cd49;
  (*pcVar4)();
LAB_0001cd49:
  var_24[-1] = var_14 + 0xb2e1;
  var_24[-2] = 0x190e;
  var_24[-3] = var_14 + 0xb1ff;
  var_24[-4] = *(type_11 *)(var_14 + 0x1462f);
  pcVar4 = *(type_2 **)(var_14 + 0x14633);
  var_24[-5] = 0x1cd68;
  (*pcVar4)();
  var_24[-5] = var_14 + 0x144c7;
  var_24[-6] = 0x1cd76;
  var_24[-9] = var_24 + 3;
  var_24[-10] = var_24[2];
  var_24[-0xb] = var_24[1];
  var_24[-0xc] = *var_24;
  var_24[-0xd] = var_24[-1];
  var_24[-0xe] = (type_3)*(type_22 *)(var_24 + -2);
  var_24[-0xf] = var_24[-3];
  var_24[-0x10] = 0x1cda6;
  var_59(var_24[-0xf],*(uint16_t *)(var_24 + -0xe),
                      (type_17)var_24[-0xd],(void *)var_24[-0xc],
                      (type_8)var_24[-0xb],(void *)var_24[-10],
                      (type_10)var_24[-9]);
  return;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Switch with 1 destination removed at 0x00012240 */

undefined4 * __regparm1 MASKED(undefined4 *param_1,int param_2)

{
  undefined2 uVar1;
  short sVar2;
  code *pcVar3;
  ssize_t sVar4;
  int *piVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined *puVar10;
  undefined4 *puVar11;
  void *pvVar12;
  char *pcVar13;
  int *piVar14;
  undefined1 *puVar15;
  uint uVar16;
  undefined4 *puVar17;
  undefined4 extraout_ECX;
  undefined4 uVar18;
  undefined4 *extraout_EDX;
  undefined1 *puVar19;
  undefined4 *puVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  uint unaff_EBP;
  int *piVar23;
  undefined *unaff_EDI;
  int in_GS_OFFSET;
  bool bVar24;
  byte bVar25;
  undefined1 auStack_2c [12];
  undefined *puStack_20;
  undefined4 uStack_14;
  undefined4 uStack_10;
  
  bVar25 = 0;
  uStack_10 = 0x30000;
  uStack_14 = 0x1b6f9;
  puVar22 = auStack_2c;
  puVar15 = auStack_2c;
  puVar17 = (undefined4 *)auStack_2c;
  puVar19 = auStack_2c;
  if (param_2 == 0) {
    return param_1;
  }
  *(undefined1 *)(param_2 + 0xdc) = 1;
  puVar9 = *(undefined4 **)(param_2 + 0x74);
  if (*(char *)(param_2 + 0xdd) == '\0') {
    unaff_EDI = *(undefined **)(param_2 + 200);
    puStack_20 = unaff_EDI;
    puVar15 = auStack_2c;
    if (puVar9 == (undefined4 *)0x0) {
      do {
        puVar22 = puVar15;
        if ((*(byte *)(param_2 + 0xf4) & 8) == 0) {
LAB_0001ba78:
          *(undefined4 *)(puVar22 + -4) = 0x1ba7f;
          FUN_00017f40();
        }
        else {
          puVar10 = *(undefined **)(param_2 + 0xd8);
          if (puVar10 == (undefined *)0xffffffff) {
            if ((*(int *)(puVar15 + 0xc) != -1) && (*(int *)(param_2 + 0x70) == 0)) {
              *(undefined4 *)(puVar15 + -0xc) = 2;
              *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(puVar15 + 0xc);
              *(undefined4 *)(puVar15 + -0x14) = 0x1ba0c;
              shutdown(*(int *)(puVar15 + -0x10),*(int *)(puVar15 + -0xc));
            }
          }
          else {
LAB_0001ba20:
            *(undefined4 *)(puVar15 + -8) = 8;
            *(undefined **)(puVar15 + -0xc) = &DAT_000281c0;
            *(undefined **)(puVar15 + -0x10) = puVar10;
            *(undefined4 *)(puVar15 + -0x14) = 0x1ba32;
            sVar4 = write(*(int *)(puVar15 + -0x10),*(void **)(puVar15 + -0xc),
                          *(size_t *)(puVar15 + -8));
            if (sVar4 < 1) {
              *(undefined4 *)(puVar15 + -4) = 0x1ba42;
              piVar5 = __errno_location();
              if (*piVar5 != 0xb) {
                *(char **)(puVar15 + -4) =
                     "Failed to signal shutdown via inter-thread communication channel.\n";
                *(undefined4 *)(puVar15 + -8) = 0x1ae5;
                *(char **)(puVar15 + -0xc) = "daemon.c";
                puVar22 = puVar15 + -0x10;
                *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;
                *(undefined4 *)(puVar15 + -0x14) = 0x1ba6a;
                (*DAT_0003016c)();
LAB_0001ba70:
                *(undefined4 *)(puVar22 + 0xc) = 0xffffffff;
                goto LAB_0001ba78;
              }
            }
          }
LAB_0001b8f8:
          *(undefined4 *)(puVar15 + -0xc) = 0;
          *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(param_2 + 0x8c);
          *(undefined4 *)(puVar15 + -0x14) = 0x1b908;
          iVar8 = pthread_join(*(pthread_t *)(puVar15 + -0x10),*(void ***)(puVar15 + -0xc));
          puVar22 = puVar15;
          if (iVar8 != 0) goto LAB_0001bad2;
        }
        if (*(int *)(param_2 + 0xd8) != -1) {
          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd8);
          *(undefined4 *)(puVar22 + -0x14) = 0x1b927;
          iVar8 = close(*(int *)(puVar22 + -0x10));
          if (iVar8 != 0) {
            *(undefined4 *)(puVar22 + -4) = 0x1b933;
            piVar5 = __errno_location();
            if (*piVar5 == 9) {
              *(char **)(puVar22 + -4) = "Failed to destroy ITC.\n";
              *(undefined4 *)(puVar22 + -8) = 0x1b02;
              *(char **)(puVar22 + -0xc) = "daemon.c";
              puVar17 = (undefined4 *)(puVar22 + -0x10);
              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;
              *(undefined4 *)(puVar22 + -0x14) = 0x1bab3;
              (*DAT_0003016c)();
              goto LAB_0001bab3;
            }
          }
        }
        puVar17 = (undefined4 *)puVar22;
        if (((*(byte *)(param_2 + 0xf5) & 2) != 0) && (*(int *)(param_2 + 0xd0) != -1)) {
          *(int *)(puVar22 + -0x10) = *(int *)(param_2 + 0xd0);
          *(undefined4 *)(puVar22 + -0x14) = 0x1b959;
          iVar8 = close(*(int *)(puVar22 + -0x10));
          if (iVar8 != 0) {
            *(undefined4 *)(puVar22 + -4) = 0x1b965;
            piVar5 = __errno_location();
            if (*piVar5 == 9) {
              *(char **)(puVar22 + -4) = "Close socket failed.\n";
              *(undefined4 *)(puVar22 + -8) = 0x1b07;
              *(char **)(puVar22 + -0xc) = "daemon.c";
              puVar17 = (undefined4 *)(puVar22 + -0x10);
              *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;
              *(undefined4 *)(puVar22 + -0x14) = 0x1b989;
              (*DAT_0003016c)();
            }
          }
        }
        *(int *)((int)puVar17 + -0x10) = param_2 + 0xac;
        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b99f;
        iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));
        if (iVar8 == 0) goto LAB_0001b81d;
        *(char **)((int)puVar17 + -4) = "Failed to destroy mutex.\n";
        *(undefined4 *)((int)puVar17 + -8) = 0x1b10;
        *(char **)((int)puVar17 + -0xc) = "daemon.c";
        puVar15 = (undefined1 *)((int)puVar17 + -0x10);
        *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;
        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b9c9;
        (*DAT_0003016c)();
      } while( true );
    }
    if (*(int *)(param_2 + 0x88) == 0) {
      bVar24 = unaff_EDI == (undefined *)0xffffffff;
      unaff_EDI = (undefined *)0x0;
      if (bVar24) {
        unaff_EDI = (undefined *)0x0;
        goto LAB_0001b8ba;
      }
LAB_0001b7cf:
      *(undefined4 *)((int)puVar17 + -0xc) = 2;
      *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)((int)puVar17 + 0xc);
      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b7dd;
      shutdown(*(int *)((int)puVar17 + -0x10),*(int *)((int)puVar17 + -0xc));
      uVar6 = *(uint *)(param_2 + 0x88);
    }
    else {
LAB_0001b747:
      unaff_EBP = 0;
      unaff_EDI = &DAT_000281c0;
      while( true ) {
        *(undefined1 *)(puVar9 + unaff_EBP * 0x4c + 0x37) = 1;
        iVar8 = *(int *)(*(int *)(param_2 + 0x74) + 0xd8 + unaff_EBP * 0x130);
        if (((iVar8 != -1) && (sVar4 = write(iVar8,&DAT_000281c0,8), sVar4 < 1)) &&
           (piVar5 = __errno_location(), *piVar5 != 0xb)) break;
        uVar6 = *(uint *)(param_2 + 0x88);
        unaff_EBP = unaff_EBP + 1;
        if (uVar6 <= unaff_EBP) goto LAB_0001b7c8;
        puVar9 = *(undefined4 **)(param_2 + 0x74);
      }
      puVar19 = &stack0xffffffc4;
      uVar6 = (*DAT_0003016c)();
LAB_0001b7c8:
      puVar17 = (undefined4 *)puVar19;
      if (*(int *)(puVar19 + 0xc) != -1) goto LAB_0001b7cf;
    }
    iVar8 = *(int *)(param_2 + 0x74);
    if (uVar6 != 0) {
      unaff_EDI = (undefined *)0x0;
      do {
        iVar7 = (int)unaff_EDI * 0x130;
        unaff_EDI = unaff_EDI + 1;
        *(int *)((int)puVar17 + -0x10) = iVar8 + iVar7;
        *(undefined4 *)((int)puVar17 + -0x14) = 0x1b803;
        MASKED();
        iVar8 = *(int *)(param_2 + 0x74);
      } while (unaff_EDI < *(undefined **)(param_2 + 0x88));
    }
    *(int *)((int)puVar17 + -0x10) = iVar8;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b81a;
    free(*(void **)((int)puVar17 + -0x10));
LAB_0001b81d:
    if (*(undefined4 **)(param_2 + 0x70) != (undefined4 *)0x0) {
      return *(undefined4 **)(param_2 + 0x70);
    }
    if (*(int *)((int)puVar17 + 0xc) == -1) goto LAB_0001b84b;
    *(int *)((int)puVar17 + -0x10) = *(int *)((int)puVar17 + 0xc);
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b836;
    iVar8 = close(*(int *)((int)puVar17 + -0x10));
    if (iVar8 == 0) goto LAB_0001b84b;
    *(undefined4 *)((int)puVar17 + -4) = 0x1b842;
    piVar5 = __errno_location();
    if (*piVar5 != 9) goto LAB_0001b84b;
LAB_0001bab3:
    *(char **)((int)puVar17 + -4) = "Close socket failed.\n";
    *(undefined4 *)((int)puVar17 + -8) = 0x1b19;
    *(char **)((int)puVar17 + -0xc) = "daemon.c";
    puVar15 = (undefined1 *)((int)puVar17 + -0x10);
    *(undefined4 *)((int)puVar17 + -0x10) = DAT_00030168;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1bad2;
    (*DAT_0003016c)();
LAB_0001bad2:
    *(char **)(puVar15 + -4) = "Failed to join a thread.\n";
    *(undefined4 *)(puVar15 + -8) = 0x1af7;
    *(char **)(puVar15 + -0xc) = "daemon.c";
    puVar22 = puVar15 + -0x10;
    *(undefined4 *)(puVar15 + -0x10) = DAT_00030168;
    *(undefined4 *)(puVar15 + -0x14) = 0x1baf1;
    (*DAT_0003016c)();
LAB_0001baf1:
    *(char **)(puVar22 + -4) = "Failed to destroy mutex.\n";
    *(undefined4 *)(puVar22 + -8) = 0x1b2f;
    *(char **)(puVar22 + -0xc) = "daemon.c";
    puVar17 = (undefined4 *)(puVar22 + -0x10);
    *(undefined4 *)(puVar22 + -0x10) = DAT_00030168;
    *(undefined4 *)(puVar22 + -0x14) = 0x1bb10;
    (*DAT_0003016c)();
  }
  else {
    if (puVar9 == (undefined4 *)0x0) {
      if ((*(byte *)(param_2 + 0xf4) & 8) == 0) goto LAB_0001ba70;
      puVar10 = *(undefined **)(param_2 + 0xd8);
      puStack_20 = puVar10;
      if (puVar10 == (undefined *)0xffffffff) goto LAB_0001b8f8;
      puStack_20 = (undefined *)0xffffffff;
      puVar15 = auStack_2c;
      goto LAB_0001ba20;
    }
    unaff_EBP = *(uint *)(param_2 + 0x88);
    puStack_20 = (undefined *)0xffffffff;
    if (unaff_EBP != 0) goto LAB_0001b747;
LAB_0001b8ba:
    free(puVar9);
    puVar17 = (undefined4 *)auStack_2c;
    if (*(int *)(param_2 + 0x70) != 0) {
      return puVar9;
    }
LAB_0001b84b:
    *(undefined4 *)((int)puVar17 + -0x10) = *(undefined4 *)(param_2 + 0x104);
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b859;
    free(*(void **)((int)puVar17 + -0x10));
    *(int *)((int)puVar17 + -0x10) = param_2 + 0x108;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b867;
    iVar8 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));
    puVar22 = (undefined1 *)puVar17;
    if (iVar8 != 0) goto LAB_0001baf1;
    *(int *)((int)puVar17 + -0x10) = param_2 + 0x94;
    *(undefined4 *)((int)puVar17 + -0x14) = 0x1b881;
    puVar9 = (undefined4 *)pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar17 + -0x10));
    if (puVar9 == (undefined4 *)0x0) {
      *(int *)((int)puVar17 + -0x10) = param_2;
      *(undefined4 *)((int)puVar17 + -0x14) = 0x1b895;
      free(*(void **)((int)puVar17 + -0x10));
      return puVar9;
    }
  }
  puVar17[-1] = "Failed to destroy mutex.\n";
  puVar17[-2] = 0x1b33;
  puVar17[-3] = "daemon.c";
  puVar17[-4] = DAT_00030168;
  puVar17[-5] = 0x1bb2f;
  (*DAT_0003016c)();
  puVar17[-5] = unaff_EBP;
  puVar17[-6] = unaff_EDI;
  puVar17[-7] = param_2;
  puVar17[-8] = 0x30000;
  puVar17[-9] = 0x1bb39;
  iVar8 = puVar17[-9];
  piVar5 = (int *)puVar17[-3];
  piVar14 = (int *)puVar17[1];
  puVar17[-0x3b] = 1;
  puVar17[-0x44] = puVar17[-2];
  puVar17[-0x3a] = 0;
  puVar17[-0x43] = puVar17[-1];
  puVar17[-0x42] = puVar17[2];
  puVar17[-0xc] = *(undefined4 *)(in_GS_OFFSET + 0x14);
  puVar17[-0x3f] = (uint)piVar5 & 2;
  puVar9 = puVar17 + -0x47;
  if (((uint)piVar5 & 2) == 0) {
    if (((uint)piVar5 & 0x8000) != 0) {
      piVar5 = (int *)((uint)piVar5 | 0x2400);
    }
    puVar9 = puVar17 + -0x47;
    if (((piVar14 != (int *)0x0) && (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x240) != 0x240)) &&
       ((puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x204) != 0x204 &&
        (puVar9 = puVar17 + -0x47, ((uint)piVar5 & 0x4c) != 0x40)))) {
      piVar23 = piVar5;
      if (((uint)piVar5 & 0x10000) != 0) {
        puVar9 = puVar17 + -0x47;
        if (((uint)piVar5 & 0x240) != 0) goto LAB_0001bfd0;
        piVar23 = (int *)((uint)piVar5 | 0x40);
        if (((uint)piVar5 & 4) == 0) {
          piVar23 = (int *)((uint)piVar5 | 0x200);
        }
      }
      puVar17[-0x40] = puVar17[3];
      puVar17[-0x41] = *puVar17;
      puVar17[-0x4a] = 0x130;
      puVar17[-0x4b] = 1;
      puVar17[-0x4c] = 0x1bc1d;
      puVar11 = (undefined4 *)calloc(puVar17[-0x4b],puVar17[-0x4a]);
      puVar9 = puVar17 + -0x47;
      if (puVar11 != (undefined4 *)0x0) {
        puVar11[0x34] = 0xffffffff;
        puVar11[0x32] = 0xffffffff;
        puVar11[0x33] = 0;
        puVar11[0x3d] = piVar23;
        uVar18 = puVar17[-0x41];
        *puVar11 = piVar14;
        puVar11[0x39] = 0;
        puVar11[0x3a] = 0x3fc;
        puVar11[0x3f] = (uint)piVar23 >> 5 & 1;
        uVar1 = *(undefined2 *)(puVar17 + -0x44);
        puVar11[0x11] = uVar18;
        puVar11[0x1f] = 0x8000;
        puVar11[0x20] = 0x400;
        puVar11[0x3b] = 0;
        puVar11[0x36] = 0xffffffff;
        puVar11[0x4b] = 0x80;
        *(undefined2 *)(puVar11 + 0x3e) = uVar1;
        uVar18 = puVar17[-0x40];
        puVar11[0x10] = puVar17[-0x43];
        puVar11[1] = puVar17[-0x42];
        puVar11[0x18] = iVar8 + -0x43b9;
        puVar11[0x1a] = iVar8 + -0x43e9;
        puVar11[0x1b] = **(undefined4 **)(&UNK_00014497 + iVar8);
        if (((uint)piVar23 & 0xc) == 4) {
          puVar17[-0x43] = uVar18;
          puVar17[-0x4a] = iVar8 + 0xbff7;
          puVar17[-0x4b] = puVar11;
          puVar17[-0x4c] = 0x1bebc;
          FUN_0001cf70();
          piVar23 = (int *)(puVar11[0x3d] | 8);
          puVar11[0x3d] = piVar23;
LAB_0001bed2:
          if (((uint)piVar23 & 0x100) != 0) {
            piVar23 = (int *)((uint)piVar23 | 0x400);
            puVar11[0x3d] = piVar23;
          }
        }
        else {
          if (((uint)piVar23 & 8) != 0) goto LAB_0001bed2;
          piVar23 = (int *)((uint)piVar23 & 0xfffffbff);
          puVar11[0x3d] = piVar23;
        }
        puVar20 = puVar17 + -0x47;
        puVar11[0x48] = 0;
        puVar11[0x40] = 0;
        puVar11[0x49] = 4;
        puVar17[-0x48] = 0x1bd33;
        iVar7 = FUN_000172b0();
        puVar9 = puVar17 + -0x47;
        if (iVar7 == 1) {
          uVar6 = puVar11[0x3d];
          if ((puVar11[0x12] == 0) || ((uVar6 & 4) == 0)) {
            puVar9 = puVar17 + -0x47;
            if ((uVar6 & 0x400) == 0) goto LAB_0001bd6c;
          }
          else {
            puVar11[0x3d] = uVar6 | 0x400;
          }
          puVar9 = puVar17 + -0x47;
          if (puVar11[0x22] == 0) goto LAB_0001c310;
LAB_0001bd6c:
          uVar6 = puVar11[0x49];
          if (uVar6 != 0) {
            piVar23 = (int *)(uVar6 * 0x94);
            if (uVar6 != (uint)piVar23 / 0x94) goto LAB_0001c3a0;
            *(int **)((int)puVar9 + -0x10) = piVar23;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1bd9c;
            pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));
            puVar11[0x41] = pvVar12;
            if (pvVar12 == (void *)0x0) {
              *(undefined4 *)((int)puVar9 + -4) = 0x1cb57;
              piVar5 = __errno_location();
              *(int *)((int)puVar9 + -0x10) = *piVar5;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb61;
              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
              puVar21 = (undefined1 *)((int)puVar9 + -8);
              *(char **)((int)puVar9 + -8) = pcVar13;
              iVar8 = iVar8 + 0xc17b;
              goto LAB_0001c3a9;
            }
          }
          *(undefined4 **)((int)puVar9 + 0x14) = puVar11 + 0x42;
          *(undefined4 *)((int)puVar9 + -0xc) = 0;
          *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x42;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1bdc2;
          iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                                     *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
          if (iVar7 == 0) {
            uVar6 = puVar11[0x3d];
            if (((uVar6 & 8) == 0) && (piVar23 = (int *)puVar11[0x22], piVar23 != (int *)0x0)) {
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1d7;
              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf00;
              FUN_0001cf70();
              goto LAB_0001bf08;
            }
            piVar14 = (int *)puVar11[0x32];
            *(int **)((int)puVar9 + 0x10) = piVar14;
            if (piVar14 == (int *)0xffffffff) goto LAB_0001c078;
LAB_0001bdf8:
            if ((*(short *)(puVar11 + 0x3e) == 0) && ((puVar11[0x3d] & 0x100) == 0)) {
              *(undefined4 *)((int)puVar9 + 0x38) = 0x80;
              piVar14 = (int *)((int)puVar9 + 0x6c);
              for (iVar7 = 0x20; iVar7 != 0; iVar7 = iVar7 + -1) {
                *piVar14 = 0;
                piVar14 = piVar14 + (uint)bVar25 * -2 + 1;
              }
              *(undefined1 **)((int)puVar9 + -8) = (undefined1 *)((int)puVar9 + 0x38);
              *(int **)((int)puVar9 + -0xc) = (int *)((int)puVar9 + 0x6c);
              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c3ef;
              iVar7 = getsockname(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),
                                  *(socklen_t **)((int)puVar9 + -8));
              if (iVar7 != 0) goto LAB_0001c540;
              if (*(uint *)((int)puVar9 + 0x38) < 0x81) {
                sVar2 = *(short *)((int)puVar9 + 0x6c);
                if ((sVar2 == 2) || (sVar2 == 10)) {
                  *(ushort *)(puVar11 + 0x3e) =
                       *(ushort *)((int)puVar9 + 0x6e) >> 8 | *(ushort *)((int)puVar9 + 0x6e) << 8;
                }
                else if (sVar2 == 1) {
                  piVar23 = (int *)0x0;
                  *(undefined2 *)(puVar11 + 0x3e) = 0;
                }
                else {
                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb328;
                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c43b;
                  FUN_0001cf70();
                  *(undefined2 *)(puVar11 + 0x3e) = 0;
                }
              }
              else {
                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc2bb;
                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7b8;
                FUN_0001cf70();
              }
            }
            do {
              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1be1f;
              iVar7 = FUN_0001e210();
              if (iVar7 == 0) {
                *(undefined4 *)((int)puVar9 + -4) = 0x1c455;
                piVar23 = __errno_location();
                *(int *)((int)puVar9 + -0x10) = *piVar23;
                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c461;
                pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
                *(char **)((int)puVar9 + -8) = pcVar13;
                *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc307;
                *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                *(undefined4 *)((int)puVar9 + -0x14) = 0x1c472;
                FUN_0001cf70();
                if (((puVar11[0x3d] & 0x200) != 0) || (puVar11[0x22] != 0)) {
                  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c57c;
                  iVar7 = close(*(int *)((int)puVar9 + -0x10));
                  if ((iVar7 != 0) && (*piVar23 == 9)) {
                    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
                    *(undefined4 *)((int)puVar9 + -8) = 0x18d4;
                    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
                    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
                    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
                    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5af;
                    (*pcVar3)();
                    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
                    goto LAB_0001c5b0;
                  }
                  goto LAB_0001bf08;
                }
                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((puVar11[0x3d] & 0x240) != 0)) {
                  *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;
                  *(undefined4 *)((int)puVar9 + -0xc) = 0;
                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4b8;
                  iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                                             *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
                  if (iVar7 == 0) goto LAB_0001c200;
                  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;
                  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
                  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4d3;
                  FUN_0001cf70();
                  goto LAB_0001c02e;
                }
              }
              else {
                uVar6 = puVar11[0x3d];
                if ((*(int *)((int)puVar9 + 0x10) < 0x400) || ((uVar6 & 0x240) != 0))
                goto LAB_0001be45;
              }
              *(undefined4 *)((int)puVar9 + -4) = 0x400;
              piVar14 = *(int **)((int)puVar9 + 0x10);
              *(int **)((int)puVar9 + -8) = piVar14;
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb85b;
              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4f7;
              FUN_0001cf70();
              *(int **)((int)puVar9 + -0x10) = piVar14;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c4ff;
              iVar7 = close(*(int *)((int)puVar9 + -0x10));
              if (iVar7 == 0) goto LAB_0001bf08;
              *(undefined4 *)((int)puVar9 + -4) = 0x1c50f;
              piVar5 = __errno_location();
              if (*piVar5 != 9) goto LAB_0001bf08;
              *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
              *(undefined4 *)((int)puVar9 + -8) = 0x18e3;
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
              *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
              pcVar3 = *(code **)(&UNK_00014633 + iVar8);
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c537;
              (*pcVar3)();
              puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c540:
              *(undefined4 *)((int)puVar9 + -4) = 0x1c545;
              piVar5 = __errno_location();
              *(int *)((int)puVar9 + -0x10) = *piVar5;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c54f;
              pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
              *(char **)((int)puVar9 + -8) = pcVar13;
              *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc293;
              *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
              *(undefined4 *)((int)puVar9 + -0x14) = 0x1c560;
              FUN_0001cf70();
            } while( true );
          }
          *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc1ab;
          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6d0;
          FUN_0001cf70();
          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6dc;
          free(*(void **)((int)puVar9 + -0x10));
          *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
          puVar11 = (undefined4 *)0x0;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c6e6;
          free(*(void **)((int)puVar9 + -0x10));
          goto LAB_0001bf79;
        }
        goto LAB_0001bf6b;
      }
    }
  }
LAB_0001bfd0:
  puVar11 = (undefined4 *)0x0;
LAB_0001bf79:
  if (*(int *)((int)puVar9 + 0xec) == *(int *)(in_GS_OFFSET + 0x14)) {
    return puVar11;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)((int)puVar9 + -4) = 0x1cc8f;
  FUN_00025ce0();
  while( true ) {
    *(undefined4 **)((int)puVar9 + 0xc) = puVar11 + 0x25;
    *(undefined4 *)((int)puVar9 + -0xc) = 0;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11 + 0x25;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c005;
    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
    if (iVar7 == 0) goto LAB_0001c200;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c020;
    FUN_0001cf70();
    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;
LAB_0001c02e:
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c03a;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 == 0) goto LAB_0001bf08;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c04a;
    piVar5 = __errno_location();
    if (*piVar5 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar9 + -8) = 0x1904;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c072;
    uVar6 = (*pcVar3)();
    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c078:
    if ((uVar6 & 0x100) == 0) break;
LAB_0001be45:
    if (((uVar6 & 0x200) != 0) && (piVar14 = (int *)puVar11[0x22], piVar14 == (int *)0x0)) {
      if ((uVar6 & 4) != 0) {
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc33f;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1be74;
        FUN_0001cf70();
        goto LAB_0001bf08;
      }
      *(undefined4 *)((int)puVar9 + -4) = 0x1bfdf;
      iVar7 = FUN_000177a0();
      if (iVar7 != 1) goto LAB_0001bf08;
    }
  }
  *(uint *)((int)puVar9 + -0x10) = (-(uint)((uVar6 & 0x10) == 0) & 0xfffffff8) + 10;
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c098;
  iVar7 = FUN_0001e440();
  *(int *)((int)puVar9 + 0x10) = iVar7;
  if (iVar7 != -1) {
    if (puVar11[0x33] == 0) {
LAB_0001c5b0:
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x30);
      *(undefined4 *)((int)puVar9 + -0x18) = 2;
      *(undefined4 *)((int)puVar9 + -0x1c) = 1;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c5c7;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 < 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1c5d7;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5e1;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c5f2;
        FUN_0001cf70();
      }
    }
    else if (0 < (int)puVar11[0x33]) {
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      piVar23 = (int *)((int)puVar9 + 0x30);
      *(int **)((int)puVar9 + -0x14) = piVar23;
      *(undefined4 *)((int)puVar9 + -0x18) = 2;
      *(undefined4 *)((int)puVar9 + -0x1c) = 1;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c707;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 < 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1cb9d;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cba7;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbb8;
        FUN_0001cf70();
      }
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      *(int **)((int)puVar9 + -0x14) = piVar23;
      *(undefined4 *)((int)puVar9 + -0x18) = 0xf;
      *(undefined4 *)((int)puVar9 + -0x1c) = 1;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c725;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 < 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1c735;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c73f;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c750;
        FUN_0001cf70();
        goto LAB_0001bf08;
      }
    }
    uVar6 = puVar11[0x3d];
    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);
    if ((uVar6 & 0x10) == 0) goto LAB_0001c698;
    *(undefined4 *)((int)puVar9 + 0x38) = 0x1c;
    if (puVar15 == (undefined1 *)0x0) {
      piVar23 = (int *)((int)puVar9 + 0x54);
      uVar16 = 0;
      do {
        *(undefined4 *)((int)piVar23 + uVar16) = 0;
        uVar16 = uVar16 + 4;
      } while (uVar16 < 0x18);
      *(undefined4 *)((int)puVar9 + 0x58) = 0;
      *(ushort *)((int)puVar9 + 0x52) =
           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;
      *(undefined2 *)((int)puVar9 + 0x50) = 10;
      *(undefined4 *)((int)puVar9 + 0x5c) = 0;
      *(undefined4 *)((int)puVar9 + 0x60) = 0;
      *(undefined1 **)((int)puVar9 + 0x34) = (undefined1 *)((int)puVar9 + 0x50);
      *(undefined4 *)((int)puVar9 + 100) = 0;
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
    else {
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
    *(uint *)((int)puVar9 + 0x3c) = (uint)((uVar6 & 0x810) != 0x810);
    *(undefined4 *)((int)puVar9 + -0x10) = 4;
    *(undefined1 **)((int)puVar9 + -0x14) = (undefined1 *)((int)puVar9 + 0x3c);
    *(undefined4 *)((int)puVar9 + -0x18) = 0x1a;
    *(undefined4 *)((int)puVar9 + -0x1c) = 0x29;
    *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c114;
    iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                       *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                       *(socklen_t *)((int)puVar9 + -0x10));
    if (iVar7 < 0) {
      *(undefined4 *)((int)puVar9 + -4) = 0x1cb75;
      piVar5 = __errno_location();
      *(int *)((int)puVar9 + -0x10) = *piVar5;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb7f;
      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
      *(char **)((int)puVar9 + -8) = pcVar13;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb90;
      FUN_0001cf70();
    }
    uVar18 = *(undefined4 *)((int)puVar9 + 0x38);
    puVar15 = *(undefined1 **)((int)puVar9 + 0x34);
    goto LAB_0001c127;
  }
  *(undefined4 *)((int)puVar9 + -4) = 0x1c765;
  piVar5 = __errno_location();
  *(int *)((int)puVar9 + -0x10) = *piVar5;
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c76f;
  pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
  *(char **)((int)puVar9 + -8) = pcVar13;
  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc21f;
  *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c780;
  FUN_0001cf70();
LAB_0001bf08:
  if (puVar11[0x34] != -1) {
    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x34];
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf1c;
    close(*(int *)((int)puVar9 + -0x10));
  }
  *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x41];
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf2d;
  free(*(void **)((int)puVar9 + -0x10));
  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x14);
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf37;
  iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
  if (iVar7 != 0) {
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;
    *(undefined4 *)((int)puVar9 + -8) = 0x19e2;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    puVar15 = (undefined1 *)((int)puVar9 + -0x10);
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ccae;
    (*pcVar3)();
    goto LAB_0001ccae;
  }
  if (puVar11[0x36] != -1) {
    *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x36];
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf56;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 != 0) {
      *(undefined4 *)((int)puVar9 + -4) = 0x1bf62;
      piVar5 = __errno_location();
      if (*piVar5 == 9) goto LAB_0001c5fa;
    }
  }
  goto LAB_0001bf6b;
LAB_0001c5fa:
  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;
  *(undefined4 *)((int)puVar9 + -8) = 0x19f0;
  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1c619;
  (*pcVar3)();
  puVar9 = (undefined4 *)((int)puVar9 + -0x10);
  do {
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc38f;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c630;
    FUN_0001cf70();
    *(int **)((int)puVar9 + -0x10) = piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c638;
    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
    puVar17 = puVar9;
    if (iVar7 != 0) goto LAB_0001cd49;
    if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c659;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 == 0) goto LAB_0001bf08;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c669;
    piVar5 = __errno_location();
    if (*piVar5 != 9) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar9 + -8) = 0x1911;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c691;
    puVar15 = (undefined1 *)(*pcVar3)();
    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c698:
    *(undefined4 *)((int)puVar9 + 0x38) = 0x10;
    if (puVar15 == (undefined1 *)0x0) {
      puVar15 = (undefined1 *)((int)puVar9 + 0x40);
      *(undefined2 *)((int)puVar9 + 0x40) = 2;
      *(undefined4 *)((int)puVar9 + 0x44) = 0;
      *(undefined4 *)((int)puVar9 + 0x48) = 0;
      *(undefined4 *)((int)puVar9 + 0x4c) = 0;
      *(ushort *)((int)puVar9 + 0x42) =
           *(ushort *)((int)puVar9 + 0xc) >> 8 | *(ushort *)((int)puVar9 + 0xc) << 8;
      uVar18 = 0x10;
      *(undefined1 **)((int)puVar9 + 0x34) = puVar15;
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
    else {
      uVar18 = 0x10;
      puVar11[0x32] = *(undefined4 *)((int)puVar9 + 0x10);
    }
LAB_0001c127:
    *(undefined4 *)((int)puVar9 + -8) = uVar18;
    *(undefined1 **)((int)puVar9 + -0xc) = puVar15;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c135;
    iVar7 = bind(*(int *)((int)puVar9 + -0x10),*(sockaddr **)((int)puVar9 + -0xc),
                 *(socklen_t *)((int)puVar9 + -8));
    if (iVar7 == -1) {
      *(undefined4 *)((int)puVar9 + -4) = 0x1c7c5;
      piVar23 = __errno_location();
      *(int *)((int)puVar9 + -0x10) = *piVar23;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7d1;
      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
      *(char **)((int)puVar9 + -0x14) = pcVar13;
      *(uint *)((int)puVar9 + -0x18) = (uint)*(ushort *)((int)puVar9 + 0xc);
      *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xc24b;
      *(undefined4 **)((int)puVar9 + -0x20) = puVar11;
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c7e5;
      FUN_0001cf70();
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c7f1;
      iVar7 = close(*(int *)((int)puVar9 + -0x10));
      if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
      *(undefined4 *)((int)puVar9 + -8) = 0x184d;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
      pcVar3 = *(code **)(&UNK_00014633 + iVar8);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c824;
      (*pcVar3)();
      puVar9 = (undefined4 *)((int)puVar9 + -0x10);
      goto LAB_0001c828;
    }
    if ((*(byte *)((int)puVar11 + 0xf5) & 0x40) != 0) {
      if (puVar11[0x4a] == 0) {
        puVar11[0x4a] = 10;
      }
      *(undefined4 *)((int)puVar9 + -0x10) = 4;
      *(undefined4 **)((int)puVar9 + -0x14) = puVar11 + 0x4a;
      *(undefined4 *)((int)puVar9 + -0x18) = 0x17;
      *(undefined4 *)((int)puVar9 + -0x1c) = 6;
      *(undefined4 *)((int)puVar9 + -0x20) = *(undefined4 *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x24) = 0x1c177;
      iVar7 = setsockopt(*(int *)((int)puVar9 + -0x20),*(int *)((int)puVar9 + -0x1c),
                         *(int *)((int)puVar9 + -0x18),*(void **)((int)puVar9 + -0x14),
                         *(socklen_t *)((int)puVar9 + -0x10));
      if (iVar7 != 0) {
        *(undefined4 *)((int)puVar9 + -4) = 0x1cb2f;
        piVar5 = __errno_location();
        *(int *)((int)puVar9 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb39;
        pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
        *(char **)((int)puVar9 + -8) = pcVar13;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb311;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cb4a;
        FUN_0001cf70();
      }
    }
    *(undefined4 *)((int)puVar9 + -0xc) = puVar11[0x4b];
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c194;
    iVar7 = listen(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));
    if (-1 < iVar7) goto LAB_0001bdf8;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c1a4;
    piVar23 = __errno_location();
    *(int *)((int)puVar9 + -0x10) = *piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1b0;
    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
    *(char **)((int)puVar9 + -8) = pcVar13;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc26b;
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1c1;
    FUN_0001cf70();
    piVar14 = *(int **)((int)puVar9 + -0x10);
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1cb;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if ((iVar7 == 0) || (*piVar23 != 9)) goto LAB_0001bf08;
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
    *(undefined4 *)((int)puVar9 + -8) = 0x186b;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c1fe;
    (*pcVar3)();
    puVar9 = (undefined4 *)((int)puVar9 + -0x10);
LAB_0001c200:
    piVar23 = puVar11 + 0x2b;
    *(undefined4 *)((int)puVar9 + -0xc) = 0;
    *(int **)((int)puVar9 + -0x10) = piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c211;
    iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                               *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
  } while (iVar7 != 0);
  if ((puVar11[0x3d] & 0x108) != 8) goto LAB_0001bf79;
  piVar14 = (int *)puVar11[0x22];
  if (piVar14 == (int *)0x0) {
    iVar7 = iVar8 + 0xb306;
    if ((puVar11[0x3d] & 4) != 0) {
      iVar7 = iVar8 + 0xb2fb;
    }
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;
    *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];
    *(int *)((int)puVar9 + -0x1c) = iVar7;
    *(undefined4 **)((int)puVar9 + -0x20) = puVar11 + 0x23;
    *(undefined4 *)((int)puVar9 + -0x24) = 0x1c270;
    iVar7 = FUN_0001f380();
    if (iVar7 != 0) goto LAB_0001bf79;
    *(undefined4 *)((int)puVar9 + -4) = 0x1c280;
    piVar14 = __errno_location();
    *(int *)((int)puVar9 + -0x10) = *piVar14;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c28c;
    pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
    *(char **)((int)puVar9 + -8) = pcVar13;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3c7;
    puVar20 = (undefined4 *)((int)puVar9 + -0x10);
    *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c29d;
    FUN_0001cf70();
    *(int **)((int)puVar9 + -0x10) = piVar23;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2a5;
    iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
    puVar22 = (undefined1 *)puVar9;
    if (iVar7 == 0) {
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2bc;
      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
      if (iVar7 != 0) goto LAB_0001cd2a;
      if (*(int *)((int)puVar9 + 0x10) == -1) goto LAB_0001bf08;
      *(int *)((int)puVar9 + -0x10) = *(int *)((int)puVar9 + 0x10);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c2dd;
      iVar7 = close(*(int *)((int)puVar9 + -0x10));
      if ((iVar7 == 0) || (*piVar14 != 9)) goto LAB_0001bf08;
      *(int *)((int)puVar9 + -4) = iVar8 + 0xb22d;
      *(undefined4 *)((int)puVar9 + -8) = 0x193e;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
      pcVar3 = *(code **)(&UNK_00014633 + iVar8);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1c310;
      (*pcVar3)();
LAB_0001c310:
      *(undefined4 *)((int)puVar20 + -0xc) = 0x80800;
      *(undefined4 *)((int)puVar20 + -0x10) = 0;
      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c31f;
      iVar7 = eventfd(*(int *)((int)puVar20 + -0x10),*(int *)((int)puVar20 + -0xc));
      puVar11[0x36] = iVar7;
      if (iVar7 == -1) {
        *(undefined4 *)((int)puVar20 + -4) = 0x1cbc5;
        piVar5 = __errno_location();
        *(int *)((int)puVar20 + -0x10) = *piVar5;
        *(undefined4 *)((int)puVar20 + -0x14) = 0x1cbcf;
        pcVar13 = strerror(*(int *)((int)puVar20 + -0x10));
        puVar21 = (undefined1 *)((int)puVar20 + -8);
        *(char **)((int)puVar20 + -8) = pcVar13;
        iVar8 = iVar8 + 0xc0c7;
        goto LAB_0001c3a9;
      }
      puVar9 = puVar20;
      if (((puVar11[0x3d] & 0x240) != 0) || (iVar7 < 0x400)) goto LAB_0001bd6c;
      *(int *)((int)puVar20 + -0xc) = iVar8 + 0xc103;
      *(undefined4 **)((int)puVar20 + -0x10) = puVar11;
      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c35c;
      FUN_0001cf70();
      *(undefined4 *)((int)puVar20 + -0x10) = puVar11[0x36];
      *(undefined4 *)((int)puVar20 + -0x14) = 0x1c368;
      iVar7 = close(*(int *)((int)puVar20 + -0x10));
      if (iVar7 != 0) {
        *(undefined4 *)((int)puVar20 + -4) = 0x1c378;
        piVar5 = __errno_location();
        if (*piVar5 == 9) {
          *(int *)((int)puVar20 + -4) = iVar8 + 0xb2c9;
          *(undefined4 *)((int)puVar20 + -8) = 0x172d;
          *(int *)((int)puVar20 + -0xc) = iVar8 + 0xb1ff;
          puVar9 = (undefined4 *)((int)puVar20 + -0x10);
          *(undefined4 *)((int)puVar20 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
          pcVar3 = *(code **)(&UNK_00014633 + iVar8);
          *(undefined4 *)((int)puVar20 + -0x14) = 0x1c3a0;
          (*pcVar3)();
LAB_0001c3a0:
          iVar8 = iVar8 + 0xc153;
          puVar21 = (undefined1 *)((int)puVar9 + -8);
LAB_0001c3a9:
          *(int *)(puVar21 + -4) = iVar8;
          *(undefined4 **)(puVar21 + -8) = puVar11;
          *(undefined4 *)(puVar21 + -0xc) = 0x1c3b0;
          FUN_0001cf70();
          *(undefined4 **)(puVar21 + -8) = puVar11;
          puVar11 = (undefined4 *)0x0;
          *(undefined4 *)(puVar21 + -0xc) = 0x1c3ba;
          free(*(void **)(puVar21 + -8));
          puVar9 = (undefined4 *)(puVar21 + 8);
          goto LAB_0001bf79;
        }
      }
LAB_0001bf6b:
      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
      puVar11 = (undefined4 *)0x0;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1bf76;
      free(*(void **)((int)puVar9 + -0x10));
      goto LAB_0001bf79;
    }
LAB_0001cccd:
    *(int *)(puVar22 + -4) = iVar8 + 0xb2e1;
    *(undefined4 *)(puVar22 + -8) = 0x193b;
    *(int *)(puVar22 + -0xc) = iVar8 + 0xb1ff;
    puVar9 = (undefined4 *)(puVar22 + -0x10);
    *(undefined4 *)(puVar22 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)(puVar22 + -0x14) = 0x1ccec;
    (*pcVar3)();
LAB_0001ccec:
    *(int *)((int)puVar9 + -4) = iVar8 + 0xb2c9;
    *(undefined4 *)((int)puVar9 + -8) = 0x1977;
    *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
    pcVar3 = *(code **)(&UNK_00014633 + iVar8);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd0b;
    (*pcVar3)();
    puVar15 = (undefined1 *)((int)puVar9 + -0x10);
  }
  else {
LAB_0001c828:
    piVar23 = (int *)puVar11[0x3a];
    *(int *)((int)puVar9 + -0x10) = (int)piVar14 * 0x130;
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1c83d;
    pvVar12 = malloc(*(size_t *)((int)puVar9 + -0x10));
    puVar11[0x1d] = pvVar12;
    if (pvVar12 != (void *)0x0) {
      *(undefined4 *)((int)puVar9 + 0x18) = 0;
      *(uint *)((int)puVar9 + 0x24) = (uint)piVar23 / (uint)piVar14;
      *(uint *)((int)puVar9 + 0x28) = (uint)piVar23 % (uint)piVar14;
      *(uint *)((int)puVar9 + 0x2c) = (uint)piVar23 / (uint)piVar14 + 1;
      while( true ) {
        puVar17 = (undefined4 *)((int)pvVar12 + *(int *)((int)puVar9 + 0x18));
        *puVar17 = *puVar11;
        iVar7 = (int)puVar17 - (int)((uint)(puVar17 + 1) & 0xfffffffc);
        puVar17[0x4b] = puVar11[0x4b];
        piVar23 = (int *)((int)puVar11 - iVar7);
        piVar14 = (int *)((uint)(puVar17 + 1) & 0xfffffffc);
        for (uVar6 = iVar7 + 0x130U >> 2; uVar6 != 0; uVar6 = uVar6 - 1) {
          *piVar14 = *piVar23;
          piVar23 = piVar23 + (uint)bVar25 * -2 + 1;
          piVar14 = piVar14 + (uint)bVar25 * -2 + 1;
        }
        puVar17[0x1c] = puVar11;
        puVar17[0x22] = 0;
        puVar17[0x1d] = 0;
        if ((*(byte *)((int)puVar11 + 0xf5) & 4) == 0) {
          puVar17[0x36] = 0xffffffff;
        }
        else {
          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
          *(undefined4 *)((int)puVar9 + -0xc) = 0x80800;
          *(undefined4 *)((int)puVar9 + -0x10) = 0;
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1c99a;
          iVar7 = eventfd(*(int *)((int)puVar9 + -0x10),*(int *)((int)puVar9 + -0xc));
          puVar17[0x36] = iVar7;
          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
          if (iVar7 == -1) {
            *(undefined4 *)((int)puVar9 + -4) = 0x1cc67;
            piVar5 = __errno_location();
            *(int *)((int)puVar9 + -0x10) = *piVar5;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc71;
            pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
            *(char **)((int)puVar9 + -8) = pcVar13;
            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc3eb;
            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc82;
            FUN_0001cf70();
            goto LAB_0001ca07;
          }
          if (((puVar11[0x3d] & 0x240) == 0) && (0x3ff < iVar7)) {
            *(undefined4 **)((int)puVar9 + 0x18) = puVar17;
            *(undefined4 *)((int)puVar9 + -4) = extraout_ECX;
            *(undefined4 *)((int)puVar9 + -8) = extraout_ECX;
            *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc42b;
            *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9e2;
            FUN_0001cf70();
            piVar23 = *(int **)((int)puVar9 + -0x10);
            *(undefined4 *)((int)puVar9 + -0x10) =
                 *(undefined4 *)(*(int *)((int)puVar9 + 0x18) + 0xd8);
            *(undefined4 *)((int)puVar9 + -0x14) = 0x1c9f2;
            iVar7 = close(*(int *)((int)puVar9 + -0x10));
            if (iVar7 == 0) goto LAB_0001ca07;
            *(undefined4 *)((int)puVar9 + -4) = 0x1c9fe;
            piVar5 = __errno_location();
            if (*piVar5 != 9) goto LAB_0001ca07;
            goto LAB_0001ccec;
          }
        }
        uVar18 = *(undefined4 *)((int)puVar9 + 0x2c);
        if (*(uint *)((int)puVar9 + 0x28) <= *(uint *)((int)puVar9 + 0x20)) {
          uVar18 = *(undefined4 *)((int)puVar9 + 0x24);
        }
        puVar17[0x3a] = uVar18;
        if ((*(byte *)((int)puVar11 + 0xf5) & 2) != 0) {
          *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
          *(undefined4 *)((int)puVar9 + -4) = 0x1c8ad;
          iVar7 = FUN_000177a0();
          puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
          if (iVar7 != 1) goto LAB_0001ca07;
        }
        piVar23 = puVar17 + 0x2b;
        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
        *(undefined4 *)((int)puVar9 + -0xc) = 0;
        *(int **)((int)puVar9 + -0x10) = piVar23;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1c8cf;
        iVar7 = pthread_mutex_init(*(pthread_mutex_t **)((int)puVar9 + -0x10),
                                   *(pthread_mutexattr_t **)((int)puVar9 + -0xc));
        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
        puVar15 = (undefined1 *)puVar9;
        if (iVar7 != 0) goto LAB_0001cc38;
        *(undefined4 **)((int)puVar9 + -0x10) = puVar17;
        *(int *)((int)puVar9 + -0x14) = iVar8 + -0x8d9;
        *(undefined4 *)((int)puVar9 + -0x18) = puVar11[0x21];
        *(undefined4 **)((int)puVar9 + 0x1c) = puVar11;
        *(int *)((int)puVar9 + -0x1c) = iVar8 + 0xb341;
        *(undefined4 **)((int)puVar9 + -0x20) = puVar17 + 0x23;
        *(undefined4 *)((int)puVar9 + -0x24) = 0x1c906;
        iVar7 = FUN_0001f380();
        puVar11 = *(undefined4 **)((int)puVar9 + 0x1c);
        if (iVar7 == 0) break;
        *(int *)((int)puVar9 + 0x20) = *(int *)((int)puVar9 + 0x20) + 1;
        *(int *)((int)puVar9 + 0x18) = *(int *)((int)puVar9 + 0x18) + 0x130;
        if ((uint)puVar11[0x22] <= *(uint *)((int)puVar9 + 0x20)) goto LAB_0001bf79;
        pvVar12 = (void *)puVar11[0x1d];
      }
      *(undefined4 *)((int)puVar9 + -4) = 0x1cbe5;
      piVar5 = __errno_location();
      *(int *)((int)puVar9 + -0x10) = *piVar5;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cbef;
      pcVar13 = strerror(*(int *)((int)puVar9 + -0x10));
      *(char **)((int)puVar9 + -8) = pcVar13;
      *(int *)((int)puVar9 + -0xc) = iVar8 + 0xc4b7;
      puVar15 = (undefined1 *)((int)puVar9 + -0x10);
      *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc00;
      FUN_0001cf70();
      *(int **)((int)puVar9 + -0x10) = piVar23;
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc08;
      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
      if (iVar7 != 0) {
        *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;
        *(undefined4 *)((int)puVar9 + -8) = 0x19a1;
        *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
        *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
        pcVar3 = *(code **)(&UNK_00014633 + iVar8);
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1cc32;
        (*pcVar3)();
        puVar11 = extraout_EDX;
LAB_0001cc38:
        *(int *)(puVar15 + -0xc) = iVar8 + 0xc483;
        *(undefined4 **)(puVar15 + -0x10) = puVar11;
        *(undefined4 *)(puVar15 + -0x14) = 0x1cc4a;
        FUN_0001cf70();
        puVar9 = (undefined4 *)puVar15;
      }
LAB_0001ca07:
      if (*(int *)((int)puVar9 + 0x20) != 0) {
        puVar11[0x22] = *(undefined4 *)((int)puVar9 + 0x20);
        *(undefined4 **)((int)puVar9 + -0x10) = puVar11;
        *(undefined4 *)((int)puVar9 + -0x14) = 0x1bfc5;
        MASKED();
        goto LAB_0001bfd0;
      }
    }
    if (*(int *)((int)puVar9 + 0x10) == -1) {
LAB_0001ca3b:
      *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0xc);
      *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca47;
      iVar7 = pthread_mutex_destroy(*(pthread_mutex_t **)((int)puVar9 + -0x10));
      puVar15 = (undefined1 *)puVar9;
      if (iVar7 == 0) {
        if (puVar11[0x1d] != 0) {
          *(undefined4 *)((int)puVar9 + -0x10) = puVar11[0x1d];
          *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca66;
          free(*(void **)((int)puVar9 + -0x10));
        }
        goto LAB_0001bf08;
      }
LAB_0001ccae:
      *(int *)(puVar15 + -4) = iVar8 + 0xb2e1;
      *(undefined4 *)(puVar15 + -8) = 0x19ba;
      *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;
      puVar22 = puVar15 + -0x10;
      *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
      pcVar3 = *(code **)(&UNK_00014633 + iVar8);
      *(undefined4 *)(puVar15 + -0x14) = 0x1cccd;
      (*pcVar3)();
      goto LAB_0001cccd;
    }
    *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)((int)puVar9 + 0x10);
    *(undefined4 *)((int)puVar9 + -0x14) = 0x1ca26;
    iVar7 = close(*(int *)((int)puVar9 + -0x10));
    if (iVar7 == 0) goto LAB_0001ca3b;
    *(undefined4 *)((int)puVar9 + -4) = 0x1ca32;
    piVar5 = __errno_location();
    puVar15 = (undefined1 *)puVar9;
    if (*piVar5 != 9) goto LAB_0001ca3b;
  }
  *(int *)(puVar15 + -4) = iVar8 + 0xb22d;
  *(undefined4 *)(puVar15 + -8) = 0x19b9;
  *(int *)(puVar15 + -0xc) = iVar8 + 0xb1ff;
  puVar9 = (undefined4 *)(puVar15 + -0x10);
  *(undefined4 *)(puVar15 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  *(undefined4 *)(puVar15 + -0x14) = 0x1cd2a;
  (*pcVar3)();
LAB_0001cd2a:
  *(int *)((int)puVar9 + -4) = iVar8 + 0xb2e1;
  *(undefined4 *)((int)puVar9 + -8) = 0x193c;
  *(int *)((int)puVar9 + -0xc) = iVar8 + 0xb1ff;
  puVar17 = (undefined4 *)((int)puVar9 + -0x10);
  *(undefined4 *)((int)puVar9 + -0x10) = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  *(undefined4 *)((int)puVar9 + -0x14) = 0x1cd49;
  (*pcVar3)();
LAB_0001cd49:
  puVar17[-1] = iVar8 + 0xb2e1;
  puVar17[-2] = 0x190e;
  puVar17[-3] = iVar8 + 0xb1ff;
  puVar17[-4] = *(undefined4 *)(&UNK_0001462f + iVar8);
  pcVar3 = *(code **)(&UNK_00014633 + iVar8);
  puVar17[-5] = 0x1cd68;
  (*pcVar3)();
  puVar17[-5] = &UNK_000144c7 + iVar8;
  puVar17[-6] = 0x1cd76;
  puVar17[-9] = puVar17 + 3;
  puVar17[-10] = puVar17[2];
  puVar17[-0xb] = puVar17[1];
  puVar17[-0xc] = *puVar17;
  puVar17[-0xd] = puVar17[-1];
  puVar17[-0xe] = (uint)*(ushort *)(puVar17 + -2);
  puVar17[-0xf] = puVar17[-3];
  puVar17[-0x10] = 0x1cda6;
  puVar17 = (undefined4 *)MHD_start_daemon_va();
  return puVar17;
}

