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

void MHD_suspend_connection(MHD_Connection *connection)

{
  MHD_Daemon *pMVar1;
  MHD_FLAG MVar2;
  MHD_ConnectionEventLoopInfo MVar3;
  MHD_socket MVar4;
  code *pcVar5;
  MHD_UpgradeResponseHandle *urh;
  MHD_Connection *pMVar6;
  uint uVar7;
  uint uVar8;
  uint uVar9;
  uint uVar10;
  byte bVar11;
  int iVar12;
  ssize_t sVar13;
  int *piVar14;
  pthread_t pVar15;
  time_t tVar16;
  int iVar17;
  int iVar18;
  MHD_CONNECTION_STATE MVar19;
  char *pcVar20;
  MHD_UpgradeResponseHandle *urh_00;
  undefined1 write_ready;
  int iVar21;
  MHD_EpollState MVar22;
  char cVar23;
  undefined1 *puVar24;
  ushort uVar25;
  undefined1 *puVar26;
  undefined1 *puVar27;
  MHD_mutex_ *unaff_EBP;
  undefined2 uVar28;
  MHD_Connection *pMVar29;
  int *piVar30;
  undefined4 *puVar31;
  undefined4 *puVar32;
  int in_GS_OFFSET;
  _Bool read_ready;
  int aiStack_3f8 [5];
  uint uStack_3e4;
  MHD_RequestTerminationCode MStack_3e0;
  size_t sStack_3dc;
  uint uStack_3d8;
  int aiStack_3d4 [2];
  byte abStack_3cc [4];
  MHD_FLAG MStack_3c8;
  uint auStack_3c4 [14];
  undefined4 uStack_38c;
  MHD_socket MStack_108;
  MHD_socket aMStack_104 [2];
  ushort auStack_fc [58];
  int aiStack_88 [16];
  undefined1 auStack_38 [8];
  undefined4 uStack_30;
  undefined **ppuStack_2c;
  
  if ((connection->daemon->options & 0x2000) != MHD_NO_FLAG) {
    if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {
      internal_suspend_connection_(connection);
      return;
    }
    MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");
    return;
  }
  pcVar20 = "daemon.c";
  (*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,
               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");
  uStack_30 = 0x1c719;
  pMVar1 = *(MHD_Daemon **)(pcVar20 + 0x18);
  ppuStack_2c = &_GLOBAL_OFFSET_TABLE_;
  if ((pMVar1->options & 0x2000) == MHD_NO_FLAG) {
    puVar26 = &stack0xffffffb8;
    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,
                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");
LAB_0001c7df:
    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";
    *(undefined4 *)(puVar26 + -8) = 0xb06;
    *(char **)(puVar26 + -0xc) = "daemon.c";
    puVar27 = puVar26 + -0x10;
    *(void **)(puVar26 + -0x10) = mhd_panic_cls;
    *(undefined4 *)(puVar26 + -0x14) = 0x1c7fe;
    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),
                 *(char **)(puVar26 + -4));
  }
  else {
    unaff_EBP = &pMVar1->cleanup_connection_mutex;
    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);
    puVar27 = auStack_38;
    if (iVar12 == 0) {
      pcVar20[0xf8] = '\x01';
      pMVar1->resuming = true;
      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);
      puVar26 = auStack_38;
      if (iVar12 == 0) {
        iVar12 = (pMVar1->itc).fd;
        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&
           (piVar14 = __errno_location(), *piVar14 != 0xb)) {
          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");
        }
        return;
      }
      goto LAB_0001c7df;
    }
  }
  *(char **)(puVar27 + -4) = "Failed to lock mutex.\n";
  *(undefined4 *)(puVar27 + -8) = 0xb01;
  *(char **)(puVar27 + -0xc) = "daemon.c";
  *(void **)(puVar27 + -0x10) = mhd_panic_cls;
  *(undefined4 *)(puVar27 + -0x14) = 0x1c81d;
  (*mhd_panic)(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),
               *(char **)(puVar27 + -4));
  *(MHD_mutex_ **)(puVar27 + -0x14) = unaff_EBP;
  *(undefined4 *)(puVar27 + -0x18) = 0x1c826;
  iVar12 = *(int *)(puVar27 + -0x18);
  *(char **)(puVar27 + -0x18) = pcVar20;
  *(MHD_Daemon **)(puVar27 + -0x1c) = pMVar1;
  *(undefined ***)(puVar27 + -0x20) = &_GLOBAL_OFFSET_TABLE_;
  *(undefined4 *)(puVar27 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  pMVar29 = *(MHD_Connection **)(puVar27 + -0xc);
  pMVar1 = pMVar29->daemon;
  *(MHD_Daemon **)(puVar27 + -0x37c) = pMVar1;
  MVar2 = pMVar1->options;
  *(MHD_FLAG *)(puVar27 + -0x378) = MVar2;
  *(MHD_FLAG *)(puVar27 + -0x370) = MVar2 & MHD_USE_POLL;
  *(undefined4 *)(puVar27 + -0x380) = 0x1c869;
  pVar15 = pthread_self();
  cVar23 = '\0';
  *(undefined1 **)(puVar27 + -0x364) = puVar27 + -0x338;
  (pMVar29->pid).ID = pVar15;
  MVar19 = pMVar29->state;
  while (*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') {
    if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;
    iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);
    bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;
    puVar27[-0x374] = bVar11;
    if (bVar11 == 0) {
      if (cVar23 != '\0') {
        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;
        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;
        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));
        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;
        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;
        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));
      }
      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||
         ((pMVar29->tls_read_ready != false &&
          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {
        *(undefined4 *)(puVar27 + -0x34c) = 0;
        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;
        iVar18 = *(int *)(puVar27 + -0x370);
        *(undefined4 *)(puVar27 + -0x348) = 0;
        if (iVar18 == 0) goto LAB_0001c927;
LAB_0001cab4:
        MVar4 = pMVar29->socket_fd;
        *(undefined4 *)(puVar27 + -0x334) = 0;
        *(MHD_socket *)(puVar27 + -0x338) = MVar4;
        MVar3 = pMVar29->event_loop_info;
        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {
          *(undefined2 *)(puVar27 + -0x334) = 6;
        }
        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {
          *(undefined2 *)(puVar27 + -0x334) = 3;
        }
        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {
          *(undefined2 *)(puVar27 + -0x334) = 2;
        }
        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;
        iVar18 = -1;
        if (*(int *)(puVar27 + -0x378) != 0) {
          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;
        }
        *(int *)(puVar27 + -900) = iVar18;
        *(undefined4 *)(puVar27 + -0x388) = 1;
        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);
        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;
        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),
                      *(int *)(puVar27 + -900));
        if (iVar18 < 0) goto LAB_0001cb20;
        uVar25 = *(ushort *)(puVar27 + -0x332);
        read_ready = (_Bool)((byte)uVar25 & 1);
        write_ready = (byte)(uVar25 >> 2) & 1;
        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);
      }
      else {
        *(undefined4 *)(puVar27 + -0x378) = 0;
        if (0 < iVar18) {
          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;
          tVar16 = MHD_monotonic_sec_counter();
          iVar17 = tVar16 - pMVar29->last_activity;
          *(undefined4 *)(puVar27 + -0x348) = 0;
          iVar21 = 0;
          if (iVar17 <= iVar18) {
            iVar21 = iVar18 - iVar17;
          }
          *(int *)(puVar27 + -0x34c) = iVar21;
          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;
        }
        iVar18 = *(int *)(puVar27 + -0x370);
        if (iVar18 != 0) goto LAB_0001cab4;
LAB_0001c927:
        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;
        piVar14 = (int *)(puVar27 + -0x330);
        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {
          *piVar14 = iVar18;
          piVar14 = piVar14 + 1;
        }
        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;
        piVar14 = (int *)(puVar27 + -0x2b0);
        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {
          *piVar14 = iVar18;
          piVar14 = piVar14 + 1;
        }
        piVar14 = (int *)(puVar27 + -0x230);
        piVar30 = piVar14;
        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {
          *piVar30 = iVar18;
          piVar30 = piVar30 + 1;
        }
        MVar3 = pMVar29->event_loop_info;
        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;
        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {
          *(int **)(puVar27 + -0x360) = piVar14;
          *(undefined4 *)(puVar27 + -0x380) = 0x400;
          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;
          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);
LAB_0001cd52:
          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;
          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;
          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),
                                      *(fd_set **)(puVar27 + -0x388),
                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));
          if (iVar18 == 0) {
            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;
            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;
            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;
            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));
            goto LAB_0001cb8d;
          }
          piVar14 = *(int **)(puVar27 + -0x360);
          iVar18 = *(int *)(puVar27 + -0x354) + 1;
        }
        else {
          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {
            *(int **)(puVar27 + -0x360) = piVar14;
            *(undefined4 *)(puVar27 + -0x380) = 0x400;
            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;
            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);
            goto LAB_0001cd52;
          }
          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {
            *(undefined4 *)(puVar27 + -0x380) = 0x400;
            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;
            *(int **)(puVar27 + -0x388) = piVar14;
            *(int **)(puVar27 + -0x360) = piVar14;
            goto LAB_0001cd52;
          }
          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;
          iVar18 = 0;
        }
        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);
        *(int **)(puVar27 + -0x390) = piVar14;
        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);
        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);
        *(int *)(puVar27 + -0x39c) = iVar18;
        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;
        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),
                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),
                        *(timeval **)(puVar27 + -0x38c));
        if (iVar18 < 0) {
          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;
          piVar14 = __errno_location();
          iVar18 = *piVar14;
          if (iVar18 != 4) {
            *(int *)(puVar27 + -0x38c) = iVar18;
            goto LAB_0001cc6c;
          }
          goto LAB_0001cd30;
        }
        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;
        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;
        iVar18 = __fdelt_chk();
        MVar4 = pMVar29->socket_fd;
        bVar11 = (byte)(MVar4 >> 0x1f);
        *(uint *)(puVar27 + -0x378) =
             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &
                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);
        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;
        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;
        iVar18 = __fdelt_chk();
        MVar4 = pMVar29->socket_fd;
        bVar11 = (byte)(MVar4 >> 0x1f);
        *(uint *)(puVar27 + -0x36c) =
             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &
                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);
        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;
        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;
        iVar18 = __fdelt_chk();
        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);
        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &
                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)
                     ) != 0;
        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);
        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);
      }
      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;
      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);
      if (iVar18 == 0) goto LAB_0001cb8d;
      MVar19 = pMVar29->state;
      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;
      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);
      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {
        *(undefined4 *)(puVar27 + -0x380) = 0;
        *(void ***)(puVar27 + -900) = &pMVar29->client_context;
        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;
        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);
        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;
        (*pcVar5)();
      }
      urh = pMVar29->urh;
      pMVar29->client_aware = false;
      MVar2 = pMVar29->daemon->options;
      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {
        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;
LAB_0001cef5:
        if (urh->in_buffer_size != 0) goto LAB_0001cf15;
LAB_0001cefc:
        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||
           (urh->out_buffer_used != 0)) {
LAB_0001cf15:
          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;
          puVar32 = (undefined4 *)(puVar27 + -0x1b0);
          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {
            *puVar32 = 0;
            puVar32 = puVar32 + 1;
          }
          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;
          puVar32 = (undefined4 *)(puVar27 + -0x130);
          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {
            *puVar32 = 0;
            puVar32 = puVar32 + 1;
          }
          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;
          puVar32 = (undefined4 *)(puVar27 + -0xb0);
          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {
            *puVar32 = 0;
            puVar32 = puVar32 + 1;
          }
          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;
          pMVar29 = urh->connection;
          iVar18 = (urh->mhd).socket;
          puVar27[-0x370] = 1;
          iVar21 = pMVar29->socket_fd;
          if (iVar21 == -1) {
            if (iVar18 != -1) {
LAB_0001d0b7:
              if (urh->out_buffer_used < urh->out_buffer_size) {
                *(undefined4 *)(puVar27 + -0x380) = 0x400;
                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;
                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;
                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);
                *(int *)(puVar27 + -0x38c) = iVar18;
                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;
                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),
                                            *(fd_set **)(puVar27 + -0x388),
                                            *(MHD_socket **)(puVar27 + -900),
                                            *(uint *)(puVar27 + -0x380));
                if (iVar21 != 0) goto LAB_0001cfbd;
                puVar24 = *(undefined1 **)(puVar27 + -0x368);
                if (urh->in_buffer_used != 0) {
                  puVar27[-0x370] = 0;
                  goto LAB_0001d14c;
                }
LAB_0001d0f3:
                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)
                goto LAB_0001d3f9;
                puVar27[-0x370] = 0;
              }
              else {
LAB_0001cfbd:
                puVar24 = puVar27 + -0x350;
                if (urh->in_buffer_used != 0) {
LAB_0001d14c:
                  *(undefined4 *)(puVar27 + -0x380) = 0x400;
                  *(undefined1 **)(puVar27 + -900) = puVar24;
                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);
                  *(int *)(puVar27 + -0x38c) = iVar18;
                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;
                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),
                                              *(fd_set **)(puVar27 + -0x388),
                                              *(MHD_socket **)(puVar27 + -900),
                                              *(uint *)(puVar27 + -0x380));
                  if (iVar21 == 0) goto LAB_0001d0f3;
                }
                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)
                goto LAB_0001d000;
              }
              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||
                 (urh->in_buffer_used != 0)) {
                *(undefined4 *)(puVar27 + -0x380) = 0x400;
                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;
                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);
                *(int *)(puVar27 + -0x38c) = iVar18;
                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;
                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),
                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));
              }
              goto LAB_0001d000;
            }
LAB_0001d065:
            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);
            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;
            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),
                           *(fd_set **)(puVar27 + -0x38c));
            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;
            process_urh(urh);
            if (urh->in_buffer_size == 0) goto LAB_0001cefc;
            goto LAB_0001cf15;
          }
          if (urh->in_buffer_used < urh->in_buffer_size) {
            *(undefined4 *)(puVar27 + -0x380) = 0x400;
            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;
            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);
            *(int *)(puVar27 + -0x38c) = iVar21;
            *(int *)(puVar27 + -0x368) = iVar21;
            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;
            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),
                                        *(fd_set **)(puVar27 + -0x388),
                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)
                                       );
            iVar21 = *(int *)(puVar27 + -0x368);
            puVar27[-0x370] = iVar17 != 0;
          }
          if (urh->out_buffer_used == 0) {
LAB_0001cf8d:
            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {
LAB_0001cf97:
              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||
                 (urh->out_buffer_used != 0)) {
                *(undefined4 *)(puVar27 + -0x380) = 0x400;
                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;
                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);
                *(int *)(puVar27 + -0x38c) = iVar21;
                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;
                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),
                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));
                goto LAB_0001d0ae;
              }
              if (iVar18 != -1) goto LAB_0001cfbd;
            }
            else {
LAB_0001d0ae:
              if (iVar18 != -1) goto LAB_0001d0b7;
            }
LAB_0001d000:
            if (puVar27[-0x370] != '\0') {
              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;
              puVar24 = (undefined1 *)0x0;
              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&
                 (urh->in_buffer_used < urh->in_buffer_size)) {
                *(undefined4 *)(puVar27 + -0x344) = 0;
                puVar24 = puVar27 + -0x344;
                *(undefined4 *)(puVar27 + -0x340) = 0;
              }
              *(undefined1 **)(puVar27 + -0x38c) = puVar24;
              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);
              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);
              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);
              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;
              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;
              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),
                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),
                              *(timeval **)(puVar27 + -0x38c));
              if (iVar18 < 0) {
                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;
                piVar14 = __errno_location();
                iVar18 = *piVar14;
                if (iVar18 == 4) goto LAB_0001cef5;
                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);
                *(int *)(puVar27 + -0x38c) = iVar18;
                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;
                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));
                *(char **)(puVar27 + -0x390) = pcVar20;
                *(int *)(puVar27 + -0x394) = iVar18;
                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;
                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;
                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;
                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));
                goto LAB_0001ceb0;
              }
              goto LAB_0001d065;
            }
          }
          else {
            *(undefined4 *)(puVar27 + -0x380) = 0x400;
            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;
            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);
            *(int *)(puVar27 + -0x38c) = iVar21;
            *(int *)(puVar27 + -0x368) = iVar21;
            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;
            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),
                                        *(fd_set **)(puVar27 + -0x388),
                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)
                                       );
            iVar21 = *(int *)(puVar27 + -0x368);
            if (iVar17 != 0) goto LAB_0001cf8d;
            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {
              puVar27[-0x370] = 0;
              goto LAB_0001cf97;
            }
            if (iVar18 != -1) {
              puVar27[-0x370] = 0;
              goto LAB_0001d0b7;
            }
          }
LAB_0001d3f9:
          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);
          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;
          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;
          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;
          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));
          goto LAB_0001ceb0;
        }
        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);
        goto LAB_0001ceb0;
      }
      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;
      *(undefined4 *)(puVar27 + -0xb0) = 0;
      *(undefined4 *)(puVar27 + -0xa8) = 0;
      *(undefined4 *)(puVar27 + -0xac) = 0;
      *(undefined4 *)(puVar27 + -0xa4) = 0;
      pMVar6 = urh->connection;
      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;
      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;
      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;
      goto LAB_0001d229;
    }
    if (*(int *)(puVar27 + -0x370) == 0) {
      puVar32 = (undefined4 *)(puVar27 + -0x330);
      puVar31 = puVar32;
      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {
        *puVar31 = 0;
        puVar31 = puVar31 + 1;
      }
      *(undefined4 *)(puVar27 + -0x380) = 0x400;
      *(undefined4 *)(puVar27 + -900) = 0;
      *(undefined4 **)(puVar27 + -0x388) = puVar32;
      *(undefined4 **)(puVar27 + -0x378) = puVar32;
      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);
      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;
      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),
                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));
      if (iVar18 == 0) {
        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;
        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;
        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;
        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));
        goto LAB_0001cb8d;
      }
      *(undefined4 *)(puVar27 + -0x38c) = 0;
      *(undefined4 *)(puVar27 + -0x390) = 0;
      *(undefined4 *)(puVar27 + -0x394) = 0;
      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);
      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);
      *(int *)(puVar27 + -0x378) = iVar18;
      *(int *)(puVar27 + -0x39c) = iVar18 + 1;
      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;
      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),
                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),
                      *(timeval **)(puVar27 + -0x38c));
      if (-1 < iVar18) goto LAB_0001cdf2;
      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;
      piVar14 = __errno_location();
      iVar18 = *piVar14;
      if (iVar18 != 4) {
        *(int *)(puVar27 + -0x38c) = iVar18;
LAB_0001cc6c:
        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;
        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));
        *(char **)(puVar27 + -0x390) = pcVar20;
        *(int *)(puVar27 + -0x394) = iVar18;
        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;
        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;
        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;
        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));
        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;
        goto LAB_0001cb5c;
      }
    }
    else {
      *(undefined4 *)(puVar27 + -0x334) = 1;
      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);
      *(undefined4 *)(puVar27 + -900) = 0xffffffff;
      *(undefined4 *)(puVar27 + -0x388) = 1;
      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);
      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;
      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),
                    *(int *)(puVar27 + -900));
      if (-1 < iVar18) {
LAB_0001cdf2:
        *(undefined4 *)(puVar27 + -900) = 8;
        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;
        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);
        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;
        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));
        MVar19 = pMVar29->state;
        goto LAB_0001ca80;
      }
LAB_0001cb20:
      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;
      piVar14 = __errno_location();
      if (*piVar14 != 4) {
        *(int *)(puVar27 + -0x38c) = *piVar14;
        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;
        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));
        *(char **)(puVar27 + -900) = pcVar20;
        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;
        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;
        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;
        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));
        MVar19 = pMVar29->state;
        break;
      }
    }
LAB_0001cd30:
    MVar19 = pMVar29->state;
LAB_0001ca80:
    cVar23 = puVar27[-0x374];
  }
  if (MVar19 != MHD_CONNECTION_CLOSED) {
LAB_0001cb5c:
    *(uint *)(puVar27 + -0x388) =
         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;
    *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;
    *(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;
    MHD_connection_close_
              (*(MHD_Connection **)(puVar27 + -0x38c),
               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));
  }
LAB_0001cb7f:
  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;
  *(undefined4 *)(puVar27 + -0x390) = 0x1cb8a;
  MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));
LAB_0001cb8d:
  if (pMVar29->response != (MHD_Response *)0x0) {
    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;
    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;
    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));
    pMVar29->response = (MHD_Response *)0x0;
  }
  iVar18 = pMVar29->socket_fd;
  if (iVar18 != -1) {
    *(undefined4 *)(puVar27 + -0x388) = 1;
    *(int *)(puVar27 + -0x38c) = iVar18;
    *(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;
    shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));
  }
  iVar18 = *(int *)(puVar27 + -0x37c);
  iVar21 = *(int *)(iVar18 + 0xdc);
  if (iVar21 != -1) {
    *(undefined4 *)(puVar27 + -900) = 8;
    *(int *)(puVar27 + -0x388) = iVar12 + 0xffca;
    *(int *)(puVar27 + -0x38c) = iVar21;
    *(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;
    sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),
                   *(size_t *)(puVar27 + -900));
    if (sVar13 < 1) {
      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;
      piVar14 = __errno_location();
      if (*piVar14 != 0xb) {
        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;
        *(int *)(puVar27 + -0x38c) = iVar18;
        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;
        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));
      }
    }
  }
LAB_0001cbd2:
  if (*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;
    __stack_chk_fail_local();
  }
  return;
  while( true ) {
    *(undefined4 *)(puVar27 + -0x380) = 0x1d316;
    piVar14 = __errno_location();
    if (*piVar14 != 4) break;
LAB_0001d229:
    uVar7 = urh->in_buffer_size;
    uVar8 = urh->out_buffer_size;
    uVar9 = urh->in_buffer_used;
    uVar10 = urh->out_buffer_used;
    if (uVar7 == 0) {
      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {
        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);
        goto LAB_0001ceb0;
      }
      *(undefined2 *)(puVar27 + -0xac) = 0;
      *(undefined2 *)(puVar27 + -0xa4) = 0;
      *(undefined2 *)(puVar27 + -0x374) = 2;
      *(undefined2 *)(puVar27 + -0x37c) = 6;
      uVar28 = 4;
    }
    else {
      *(undefined2 *)(puVar27 + -0xac) = 0;
      *(undefined2 *)(puVar27 + -0xa4) = 0;
      if (uVar9 < uVar7) {
        *(undefined2 *)(puVar27 + -0xac) = 1;
        *(undefined2 *)(puVar27 + -0x374) = 3;
        *(undefined2 *)(puVar27 + -0x37c) = 7;
        uVar28 = 5;
      }
      else {
        *(undefined2 *)(puVar27 + -0x374) = 2;
        uVar28 = 4;
        *(undefined2 *)(puVar27 + -0x37c) = 6;
      }
    }
    if (uVar10 == 0) {
      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;
      if (uVar7 != 0 || uVar8 != 0) {
        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);
        goto LAB_0001d377;
      }
    }
    else {
      *(undefined2 *)(puVar27 + -0xac) = uVar28;
      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {
LAB_0001d377:
        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);
      }
LAB_0001d28f:
      if (uVar10 < uVar8) {
        *(undefined2 *)(puVar27 + -0xa4) = 1;
      }
    }
    MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;
    if (uVar9 == 0) {
      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {
        uVar25 = *(ushort *)(puVar27 + -0xa4);
        goto LAB_0001d2c8;
      }
    }
    else {
      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;
      *(ushort *)(puVar27 + -0xa4) = uVar25;
      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {
LAB_0001d2c8:
        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;
      }
    }
    pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);
    *(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);
    *(undefined4 *)(puVar27 + -0x388) = 2;
    *(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;
    *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;
    *(undefined4 *)(puVar27 + -0x390) = 0x1d303;
    iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),
                  *(int *)(puVar27 + -900));
    if (-1 < iVar18) {
      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;
      urh_00 = urh;
      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));
      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;
      process_urh(urh_00);
      goto LAB_0001d229;
    }
  }
  *(int *)(puVar27 + -0x38c) = *piVar14;
  *(undefined4 *)(puVar27 + -0x390) = 0x1d32a;
  pcVar20 = strerror(*(int *)(puVar27 + -0x38c));
  *(char **)(puVar27 + -900) = pcVar20;
  *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;
  *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;
  *(undefined4 *)(puVar27 + -0x390) = 0x1d33d;
  MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));
LAB_0001ceb0:
  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;
  *(undefined4 *)(puVar27 + -0x390) = 0x1cebb;
  MHD_connection_finish_forward_(*(MHD_Connection **)(puVar27 + -0x38c));
  pMVar29->urh->clean_ready = true;
  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;
  *(undefined4 *)(puVar27 + -0x390) = 0x1cecd;
  MHD_resume_connection(*(MHD_Connection **)(puVar27 + -0x38c));
  goto LAB_0001cbd2;
}



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

int * MHD_suspend_connection(int param_1)

{
  uint uVar1;
  undefined4 uVar2;
  code *pcVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  byte bVar7;
  int *piVar8;
  int iVar9;
  pthread_t pVar10;
  int iVar11;
  int iVar12;
  ssize_t sVar13;
  int *piVar14;
  char *pcVar15;
  int iVar16;
  char cVar17;
  undefined1 *puVar18;
  ushort uVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  pthread_mutex_t *unaff_EBP;
  undefined2 uVar22;
  undefined4 *puVar23;
  undefined4 *puVar24;
  int in_GS_OFFSET;
  int aiStackY_3f8 [9];
  int aiStackY_3d4 [2];
  byte abStackY_3cc [4];
  uint auStackY_3c8 [15];
  undefined4 uStackY_38c;
  undefined4 uStackY_108;
  int aiStackY_104 [2];
  ushort auStackY_fc [58];
  int aiStackY_88 [16];
  undefined1 auStack_38 [8];
  undefined4 uStack_30;
  undefined **ppuStack_2c;
  
  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {
    if (*(int *)(param_1 + 0xdc) == 0) {
      piVar8 = (int *)FUN_0001c3e0();
      return piVar8;
    }
    piVar8 = (int *)FUN_000215b0();
    return piVar8;
  }
  (*DAT_0003506c)();
  uVar2 = s_Close_socket_failed__0002b058._4_4_;
  uStack_30 = 0x1c719;
  ppuStack_2c = &__DT_PLTGOT;
  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {
    puVar20 = &stack0xffffffb8;
    (*DAT_0003506c)();
LAB_0001c7df:
    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";
    *(undefined4 *)(puVar20 + -8) = 0xb06;
    *(char **)(puVar20 + -0xc) = "daemon.c";
    puVar21 = puVar20 + -0x10;
    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;
    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;
    (*DAT_0003506c)();
  }
  else {
    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);
    iVar9 = pthread_mutex_lock(unaff_EBP);
    puVar21 = auStack_38;
    if (iVar9 == 0) {
      s_select_failed___s_0002b135[7] = '\x01';
      *(undefined1 *)(uVar2 + 0xe3) = 1;
      iVar9 = pthread_mutex_unlock(unaff_EBP);
      puVar20 = auStack_38;
      if (iVar9 == 0) {
        piVar8 = *(int **)(uVar2 + 0xdc);
        if ((piVar8 != (int *)0xffffffff) &&
           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {
          piVar8 = __errno_location();
          if (*piVar8 != 0xb) {
            piVar8 = (int *)FUN_000215b0();
          }
        }
        return piVar8;
      }
      goto LAB_0001c7df;
    }
  }
  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";
  *(undefined4 *)(puVar21 + -8) = 0xb01;
  *(char **)(puVar21 + -0xc) = "daemon.c";
  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;
  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;
  (*DAT_0003506c)();
  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;
  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;
  FUN_000215a2();
  *(char **)(puVar21 + -0x18) = "daemon.c";
  *(undefined4 *)(puVar21 + -0x1c) = uVar2;
  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;
  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  iVar9 = *(int *)(puVar21 + -0xc);
  iVar12 = *(int *)(iVar9 + 0x18);
  *(int *)(puVar21 + -0x37c) = iVar12;
  uVar1 = *(uint *)(iVar12 + 0xf8);
  *(uint *)(puVar21 + -0x378) = uVar1;
  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;
  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;
  pVar10 = pthread_self();
  cVar17 = '\0';
  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;
  *(pthread_t *)(iVar9 + 0x5c) = pVar10;
  iVar12 = *(int *)(iVar9 + 0xb4);
  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {
    if (iVar12 == 0x13) goto LAB_0001cb7f;
    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);
    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);
    puVar21[-0x374] = bVar7;
    if (bVar7 == 0) {
      if (cVar17 != '\0') {
        *(int *)(puVar21 + -0x38c) = iVar9;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;
        FUN_000156d0();
        *(int *)(puVar21 + -0x38c) = iVar9;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;
        FUN_00016b30();
      }
      if ((*(int *)(iVar9 + 0xb8) == 2) ||
         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {
        *(undefined4 *)(puVar21 + -0x34c) = 0;
        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;
        iVar12 = *(int *)(puVar21 + -0x370);
        *(undefined4 *)(puVar21 + -0x348) = 0;
        if (iVar12 == 0) goto LAB_0001c927;
LAB_0001cab4:
        uVar2 = *(undefined4 *)(iVar9 + 0xa4);
        *(undefined4 *)(puVar21 + -0x334) = 0;
        *(undefined4 *)(puVar21 + -0x338) = uVar2;
        iVar12 = *(int *)(iVar9 + 0xb8);
        if (iVar12 == 1) {
          *(undefined2 *)(puVar21 + -0x334) = 6;
        }
        else if (iVar12 == 0) {
          *(undefined2 *)(puVar21 + -0x334) = 3;
        }
        else if (iVar12 == 2) {
          *(undefined2 *)(puVar21 + -0x334) = 2;
        }
        else if (iVar12 == 3) goto LAB_0001cb8d;
        iVar12 = -1;
        if (*(int *)(puVar21 + -0x378) != 0) {
          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;
        }
        *(int *)(puVar21 + -900) = iVar12;
        *(undefined4 *)(puVar21 + -0x388) = 1;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);
        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;
        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),
                      *(int *)(puVar21 + -900));
        if (iVar12 < 0) goto LAB_0001cb20;
        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);
      }
      else {
        *(undefined4 *)(puVar21 + -0x378) = 0;
        if (0 < iVar12) {
          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;
          iVar11 = FUN_00021e50();
          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);
          *(undefined4 *)(puVar21 + -0x348) = 0;
          iVar16 = 0;
          if (iVar11 <= iVar12) {
            iVar16 = iVar12 - iVar11;
          }
          *(int *)(puVar21 + -0x34c) = iVar16;
          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;
        }
        iVar12 = *(int *)(puVar21 + -0x370);
        if (iVar12 != 0) goto LAB_0001cab4;
LAB_0001c927:
        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;
        piVar8 = (int *)(puVar21 + -0x330);
        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {
          *piVar8 = iVar12;
          piVar8 = piVar8 + 1;
        }
        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;
        piVar8 = (int *)(puVar21 + -0x2b0);
        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {
          *piVar8 = iVar12;
          piVar8 = piVar8 + 1;
        }
        piVar8 = (int *)(puVar21 + -0x230);
        piVar14 = piVar8;
        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {
          *piVar14 = iVar12;
          piVar14 = piVar14 + 1;
        }
        iVar12 = *(int *)(iVar9 + 0xb8);
        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;
        if (iVar12 == 1) {
          *(int **)(puVar21 + -0x360) = piVar8;
          *(undefined4 *)(puVar21 + -0x380) = 0x400;
          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;
          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);
LAB_0001cd52:
          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);
          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;
          iVar12 = FUN_000225e0();
          if (iVar12 == 0) {
            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;
            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;
            FUN_000215b0();
            goto LAB_0001cb8d;
          }
          piVar8 = *(int **)(puVar21 + -0x360);
          iVar12 = *(int *)(puVar21 + -0x354) + 1;
        }
        else {
          if (iVar12 == 0) {
            *(int **)(puVar21 + -0x360) = piVar8;
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;
            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);
            goto LAB_0001cd52;
          }
          if (iVar12 == 2) {
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;
            *(int **)(puVar21 + -0x388) = piVar8;
            *(int **)(puVar21 + -0x360) = piVar8;
            goto LAB_0001cd52;
          }
          if (iVar12 == 3) goto LAB_0001cb8d;
          iVar12 = 0;
        }
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);
        *(int **)(puVar21 + -0x390) = piVar8;
        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);
        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);
        *(int *)(puVar21 + -0x39c) = iVar12;
        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;
        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),
                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),
                        *(timeval **)(puVar21 + -0x38c));
        if (iVar12 < 0) {
          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;
          piVar8 = __errno_location();
          iVar12 = *piVar8;
          if (iVar12 != 4) {
            *(int *)(puVar21 + -0x38c) = iVar12;
            goto LAB_0001cc6c;
          }
          goto LAB_0001cd30;
        }
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);
        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;
        iVar12 = __fdelt_chk();
        uVar2 = *(undefined4 *)(iVar9 + 0xa4);
        bVar7 = (byte)((int)uVar2 >> 0x1f);
        *(uint *)(puVar21 + -0x378) =
             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &
                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);
        *(undefined4 *)(puVar21 + -0x38c) = uVar2;
        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;
        iVar12 = __fdelt_chk();
        uVar2 = *(undefined4 *)(iVar9 + 0xa4);
        bVar7 = (byte)((int)uVar2 >> 0x1f);
        *(uint *)(puVar21 + -0x36c) =
             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &
                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);
        *(undefined4 *)(puVar21 + -0x38c) = uVar2;
        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;
        __fdelt_chk();
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);
      }
      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;
      iVar12 = FUN_00019590();
      if (iVar12 == 0) goto LAB_0001cb8d;
      iVar12 = *(int *)(iVar9 + 0xb4);
      if (iVar12 != 0x14) goto LAB_0001ca80;
      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);
      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {
        *(undefined4 *)(puVar21 + -0x380) = 0;
        *(int *)(puVar21 + -900) = iVar9 + 0x2c;
        *(int *)(puVar21 + -0x388) = iVar9;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);
        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;
        (*pcVar3)();
      }
      piVar8 = *(int **)(iVar9 + 0xdc);
      *(undefined1 *)(iVar9 + 0xa0) = 0;
      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);
      if ((uVar1 & 0x42) == 2) {
        *(int *)(puVar21 + -0x36c) = iVar9;
LAB_0001cef5:
        if (piVar8[8] != 0) goto LAB_0001cf15;
LAB_0001cefc:
        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {
LAB_0001cf15:
          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;
          puVar24 = (undefined4 *)(puVar21 + -0x1b0);
          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar24 = 0;
            puVar24 = puVar24 + 1;
          }
          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;
          puVar24 = (undefined4 *)(puVar21 + -0x130);
          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar24 = 0;
            puVar24 = puVar24 + 1;
          }
          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;
          puVar24 = (undefined4 *)(puVar21 + -0xb0);
          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar24 = 0;
            puVar24 = puVar24 + 1;
          }
          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;
          iVar9 = *piVar8;
          iVar12 = piVar8[0x10];
          puVar21[-0x370] = 1;
          iVar9 = *(int *)(iVar9 + 0xa4);
          if (iVar9 == -1) {
            if (iVar12 != -1) {
LAB_0001d0b7:
              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {
                *(undefined4 *)(puVar21 + -0x380) = 0x400;
                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;
                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);
                *(int *)(puVar21 + -0x38c) = iVar12;
                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;
                iVar9 = FUN_000225e0();
                if (iVar9 != 0) goto LAB_0001cfbd;
                puVar18 = *(undefined1 **)(puVar21 + -0x368);
                if (piVar8[10] != 0) {
                  puVar21[-0x370] = 0;
                  goto LAB_0001d14c;
                }
LAB_0001d0f3:
                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;
                puVar21[-0x370] = 0;
              }
              else {
LAB_0001cfbd:
                puVar18 = puVar21 + -0x350;
                if (piVar8[10] != 0) {
LAB_0001d14c:
                  *(undefined4 *)(puVar21 + -0x380) = 0x400;
                  *(undefined1 **)(puVar21 + -900) = puVar18;
                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);
                  *(int *)(puVar21 + -0x38c) = iVar12;
                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;
                  iVar9 = FUN_000225e0();
                  if (iVar9 == 0) goto LAB_0001d0f3;
                }
                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;
              }
              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {
                *(undefined4 *)(puVar21 + -0x380) = 0x400;
                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);
                *(int *)(puVar21 + -0x38c) = iVar12;
                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;
                FUN_000225e0();
              }
              goto LAB_0001d000;
            }
LAB_0001d065:
            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);
            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;
            FUN_00019470();
            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;
            FUN_00019710();
            if (piVar8[8] == 0) goto LAB_0001cefc;
            goto LAB_0001cf15;
          }
          if ((uint)piVar8[10] < (uint)piVar8[8]) {
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);
            *(int *)(puVar21 + -0x38c) = iVar9;
            *(int *)(puVar21 + -0x368) = iVar9;
            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;
            iVar16 = FUN_000225e0();
            iVar9 = *(int *)(puVar21 + -0x368);
            puVar21[-0x370] = iVar16 != 0;
          }
          if (piVar8[0xb] == 0) {
LAB_0001cf8d:
            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {
LAB_0001cf97:
              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {
                *(undefined4 *)(puVar21 + -0x380) = 0x400;
                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);
                *(int *)(puVar21 + -0x38c) = iVar9;
                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;
                FUN_000225e0();
                goto LAB_0001d0ae;
              }
              if (iVar12 != -1) goto LAB_0001cfbd;
            }
            else {
LAB_0001d0ae:
              if (iVar12 != -1) goto LAB_0001d0b7;
            }
LAB_0001d000:
            if (puVar21[-0x370] != '\0') {
              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;
              puVar18 = (undefined1 *)0x0;
              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&
                 ((uint)piVar8[10] < (uint)piVar8[8])) {
                *(undefined4 *)(puVar21 + -0x344) = 0;
                puVar18 = puVar21 + -0x344;
                *(undefined4 *)(puVar21 + -0x340) = 0;
              }
              *(undefined1 **)(puVar21 + -0x38c) = puVar18;
              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);
              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);
              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);
              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;
              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;
              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),
                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),
                             *(timeval **)(puVar21 + -0x38c));
              if (iVar9 < 0) {
                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;
                piVar14 = __errno_location();
                iVar12 = *piVar14;
                if (iVar12 == 4) goto LAB_0001cef5;
                iVar9 = *(int *)(puVar21 + -0x36c);
                *(int *)(puVar21 + -0x38c) = iVar12;
                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;
                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
                *(char **)(puVar21 + -0x390) = pcVar15;
                *(int *)(puVar21 + -0x394) = iVar12;
                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;
                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);
                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;
                FUN_000215b0();
                goto LAB_0001ceb0;
              }
              goto LAB_0001d065;
            }
          }
          else {
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);
            *(int *)(puVar21 + -0x38c) = iVar9;
            *(int *)(puVar21 + -0x368) = iVar9;
            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;
            iVar16 = FUN_000225e0();
            iVar9 = *(int *)(puVar21 + -0x368);
            if (iVar16 != 0) goto LAB_0001cf8d;
            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {
              puVar21[-0x370] = 0;
              goto LAB_0001cf97;
            }
            if (iVar12 != -1) {
              puVar21[-0x370] = 0;
              goto LAB_0001d0b7;
            }
          }
LAB_0001d3f9:
          iVar9 = *(int *)(puVar21 + -0x36c);
          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;
          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;
          FUN_000215b0();
          goto LAB_0001ceb0;
        }
        iVar9 = *(int *)(puVar21 + -0x36c);
        goto LAB_0001ceb0;
      }
      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;
      *(undefined4 *)(puVar21 + -0xb0) = 0;
      *(undefined4 *)(puVar21 + -0xa8) = 0;
      *(undefined4 *)(puVar21 + -0xac) = 0;
      *(undefined4 *)(puVar21 + -0xa4) = 0;
      iVar12 = *piVar8;
      *(int *)(puVar21 + -0x378) = iVar9;
      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);
      *(int *)(puVar21 + -0xa8) = piVar8[0x10];
      goto LAB_0001d229;
    }
    if (*(int *)(puVar21 + -0x370) == 0) {
      puVar24 = (undefined4 *)(puVar21 + -0x330);
      puVar23 = puVar24;
      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {
        *puVar23 = 0;
        puVar23 = puVar23 + 1;
      }
      *(undefined4 *)(puVar21 + -0x380) = 0x400;
      *(undefined4 *)(puVar21 + -900) = 0;
      *(undefined4 **)(puVar21 + -0x388) = puVar24;
      *(undefined4 **)(puVar21 + -0x378) = puVar24;
      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);
      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;
      iVar12 = FUN_000225e0();
      if (iVar12 == 0) {
        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;
        FUN_000215b0();
        goto LAB_0001cb8d;
      }
      *(undefined4 *)(puVar21 + -0x38c) = 0;
      *(undefined4 *)(puVar21 + -0x390) = 0;
      *(undefined4 *)(puVar21 + -0x394) = 0;
      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);
      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);
      *(int *)(puVar21 + -0x378) = iVar12;
      *(int *)(puVar21 + -0x39c) = iVar12 + 1;
      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;
      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),
                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),
                      *(timeval **)(puVar21 + -0x38c));
      if (-1 < iVar12) goto LAB_0001cdf2;
      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;
      piVar8 = __errno_location();
      iVar12 = *piVar8;
      if (iVar12 != 4) {
        *(int *)(puVar21 + -0x38c) = iVar12;
LAB_0001cc6c:
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;
        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
        *(char **)(puVar21 + -0x390) = pcVar15;
        *(int *)(puVar21 + -0x394) = iVar12;
        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;
        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);
        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;
        FUN_000215b0();
        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;
        goto LAB_0001cb5c;
      }
    }
    else {
      *(undefined4 *)(puVar21 + -0x334) = 1;
      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);
      *(undefined4 *)(puVar21 + -900) = 0xffffffff;
      *(undefined4 *)(puVar21 + -0x388) = 1;
      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);
      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;
      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),
                    *(int *)(puVar21 + -900));
      if (-1 < iVar12) {
LAB_0001cdf2:
        *(undefined4 *)(puVar21 + -900) = 8;
        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);
        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;
        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));
        iVar12 = *(int *)(iVar9 + 0xb4);
        goto LAB_0001ca80;
      }
LAB_0001cb20:
      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;
      piVar8 = __errno_location();
      if (*piVar8 != 4) {
        *(int *)(puVar21 + -0x38c) = *piVar8;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;
        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
        *(char **)(puVar21 + -900) = pcVar15;
        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;
        FUN_000215b0();
        iVar12 = *(int *)(iVar9 + 0xb4);
        break;
      }
    }
LAB_0001cd30:
    iVar12 = *(int *)(iVar9 + 0xb4);
LAB_0001ca80:
    cVar17 = puVar21[-0x374];
  }
  if (iVar12 != 0x13) {
LAB_0001cb5c:
    *(uint *)(puVar21 + -0x388) =
         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;
    *(int *)(puVar21 + -0x38c) = iVar9;
    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;
    FUN_000151b0();
  }
LAB_0001cb7f:
  *(int *)(puVar21 + -0x38c) = iVar9;
  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;
  FUN_00016b30();
LAB_0001cb8d:
  if (*(int *)(iVar9 + 0x24) != 0) {
    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);
    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;
    MHD_destroy_response();
    *(undefined4 *)(iVar9 + 0x24) = 0;
  }
  iVar9 = *(int *)(iVar9 + 0xa4);
  if (iVar9 != -1) {
    *(undefined4 *)(puVar21 + -0x388) = 1;
    *(int *)(puVar21 + -0x38c) = iVar9;
    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;
    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));
  }
  iVar9 = *(int *)(puVar21 + -0x37c);
  iVar12 = *(int *)(iVar9 + 0xdc);
  if (iVar12 != -1) {
    *(undefined4 *)(puVar21 + -900) = 8;
    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;
    *(int *)(puVar21 + -0x38c) = iVar12;
    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;
    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),
                   *(size_t *)(puVar21 + -900));
    if (sVar13 < 1) {
      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;
      piVar8 = __errno_location();
      if (*piVar8 != 0xb) {
        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;
        *(int *)(puVar21 + -0x38c) = iVar9;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;
        FUN_000215b0();
      }
    }
  }
LAB_0001cbd2:
  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;
    FUN_000299b0();
  }
  return (int *)0x0;
  while( true ) {
    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;
    piVar14 = __errno_location();
    if (*piVar14 != 4) break;
LAB_0001d229:
    uVar1 = piVar8[8];
    uVar4 = piVar8[9];
    uVar5 = piVar8[10];
    uVar6 = piVar8[0xb];
    if (uVar1 == 0) {
      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {
        iVar9 = *(int *)(puVar21 + -0x378);
        goto LAB_0001ceb0;
      }
      *(undefined2 *)(puVar21 + -0xac) = 0;
      *(undefined2 *)(puVar21 + -0xa4) = 0;
      *(undefined2 *)(puVar21 + -0x374) = 2;
      *(undefined2 *)(puVar21 + -0x37c) = 6;
      uVar22 = 4;
    }
    else {
      *(undefined2 *)(puVar21 + -0xac) = 0;
      *(undefined2 *)(puVar21 + -0xa4) = 0;
      if (uVar5 < uVar1) {
        *(undefined2 *)(puVar21 + -0xac) = 1;
        *(undefined2 *)(puVar21 + -0x374) = 3;
        *(undefined2 *)(puVar21 + -0x37c) = 7;
        uVar22 = 5;
      }
      else {
        *(undefined2 *)(puVar21 + -0x374) = 2;
        uVar22 = 4;
        *(undefined2 *)(puVar21 + -0x37c) = 6;
      }
    }
    if (uVar6 == 0) {
      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;
      if (uVar1 != 0 || uVar4 != 0) {
        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);
        goto LAB_0001d377;
      }
    }
    else {
      *(undefined2 *)(puVar21 + -0xac) = uVar22;
      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {
LAB_0001d377:
        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);
      }
LAB_0001d28f:
      if (uVar6 < uVar4) {
        *(undefined2 *)(puVar21 + -0xa4) = 1;
      }
    }
    uVar6 = piVar8[0x11];
    if (uVar5 == 0) {
      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {
        uVar19 = *(ushort *)(puVar21 + -0xa4);
        goto LAB_0001d2c8;
      }
    }
    else {
      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;
      *(ushort *)(puVar21 + -0xa4) = uVar19;
      if ((uVar6 & 0x80) == 0) {
LAB_0001d2c8:
        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;
      }
    }
    iVar9 = *(int *)(puVar21 + -0x378);
    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);
    *(undefined4 *)(puVar21 + -0x388) = 2;
    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;
    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;
    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;
    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),
                  *(int *)(puVar21 + -900));
    if (-1 < iVar12) {
      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;
      FUN_00018fb0();
      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;
      FUN_00019710();
      goto LAB_0001d229;
    }
  }
  *(int *)(puVar21 + -0x38c) = *piVar14;
  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;
  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
  *(char **)(puVar21 + -900) = pcVar15;
  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;
  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;
  FUN_000215b0();
LAB_0001ceb0:
  *(int *)(puVar21 + -0x38c) = iVar9;
  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;
  FUN_00015540();
  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;
  *(int *)(puVar21 + -0x38c) = iVar9;
  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;
  MHD_resume_connection();
  goto LAB_0001cbd2;
}


PUSH EBX
CALL 0x00013810
ADD EBX,0x1873a
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EAX + 0x18]
TEST byte ptr [EDX + 0xf9],0x20
JZ 0x0001c6e9
MOV EAX,dword ptr [EAX + 0xdc]
TEST EAX,EAX
JZ 0x0001c6e0
SUB ESP,0x8
LEA EAX,[EBX + 0xffff6ed0]
PUSH EAX
PUSH EDX
CALL 0x000215b0
ADD ESP,0x18
POP EBX
RET
ADD ESP,0x8
POP EBX
JMP 0x0001c3e0
LEA EAX,[EBX + 0xffff6e88]
PUSH EAX
LEA EAX,[EBX + 0xffff6264]
PUSH 0xae2
PUSH EAX
PUSH dword ptr [EBX + 0x288]
CALL dword ptr [EBX + 0x28c]
LEA ESI,[ESI]
NOP
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint * MHD_suspend_connection(int param_1)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}\n\n" comment (function_definition "int * MHD_suspend_connection(int param_1)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}" primitive_type (pointer_declarator "* MHD_suspend_connection(int param_1)" * (function_declarator "MHD_suspend_connection(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "pthread_t pVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char cVar17;" primitive_type identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ushort uVar19;" type_identifier identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "pthread_mutex_t *unaff_EBP;" type_identifier (pointer_declarator "*unaff_EBP" * identifier) ;) (declaration "undefined2 uVar22;" type_identifier identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int aiStackY_3f8 [9];" primitive_type (array_declarator "aiStackY_3f8 [9]" identifier [ number_literal ]) ;) (declaration "int aiStackY_3d4 [2];" primitive_type (array_declarator "aiStackY_3d4 [2]" identifier [ number_literal ]) ;) (declaration "byte abStackY_3cc [4];" type_identifier (array_declarator "abStackY_3cc [4]" identifier [ number_literal ]) ;) (declaration "uint auStackY_3c8 [15];" type_identifier (array_declarator "auStackY_3c8 [15]" identifier [ number_literal ]) ;) (declaration "undefined4 uStackY_38c;" type_identifier identifier ;) (declaration "undefined4 uStackY_108;" type_identifier identifier ;) (declaration "int aiStackY_104 [2];" primitive_type (array_declarator "aiStackY_104 [2]" identifier [ number_literal ]) ;) (declaration "ushort auStackY_fc [58];" type_identifier (array_declarator "auStackY_fc [58]" identifier [ number_literal ]) ;) (declaration "int aiStackY_88 [16];" primitive_type (array_declarator "aiStackY_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_38 [8];" type_identifier (array_declarator "auStack_38 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_30;" type_identifier identifier ;) (declaration "undefined **ppuStack_2c;" type_identifier (pointer_declarator "**ppuStack_2c" * (pointer_declarator "*ppuStack_2c" * identifier)) ;) (if_statement "if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }" if (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0)" ( (binary_expression "(*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20)" ( (binary_expression "*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x18) + 0xf9)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x18) + 0xf9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x18) + 0xf9)" ( (binary_expression "*(int *)(param_1 + 0x18) + 0xf9" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }" { (if_statement "if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0xdc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xdc) == 0" (pointer_expression "*(int *)(param_1 + 0xdc)" * (cast_expression "(int *)(param_1 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xdc)" ( (binary_expression "param_1 + 0xdc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }" { (expression_statement "piVar8 = (int *)FUN_0001c3e0();" (assignment_expression "piVar8 = (int *)FUN_0001c3e0()" identifier = (cast_expression "(int *)FUN_0001c3e0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001c3e0()" identifier (argument_list "()" ( ))))) ;) (return_statement "return piVar8;" return identifier ;) })) (expression_statement "piVar8 = (int *)FUN_000215b0();" (assignment_expression "piVar8 = (int *)FUN_000215b0()" identifier = (cast_expression "(int *)FUN_000215b0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))))) ;) (return_statement "return piVar8;" return identifier ;) })) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar2 = s_Close_socket_failed__0002b058._4_4_;" (assignment_expression "uVar2 = s_Close_socket_failed__0002b058._4_4_" identifier = (field_expression "s_Close_socket_failed__0002b058._4_4_" identifier . field_identifier)) ;) (expression_statement "uStack_30 = 0x1c719;" (assignment_expression "uStack_30 = 0x1c719" identifier = number_literal) ;) (expression_statement "ppuStack_2c = &__DT_PLTGOT;" (assignment_expression "ppuStack_2c = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" if (parenthesized_expression "((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0)" ( (binary_expression "(*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0" (parenthesized_expression "(*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20)" ( (binary_expression "*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20" (pointer_expression "*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" * (cast_expression "(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" ( (binary_expression "s_Close_socket_failed__0002b058._4_4_ + 0xf9" (field_expression "s_Close_socket_failed__0002b058._4_4_" identifier . field_identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }" { (expression_statement "puVar20 = &stack0xffffffb8;" (assignment_expression "puVar20 = &stack0xffffffb8" identifier = (pointer_expression "&stack0xffffffb8" & identifier)) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";" statement_identifier : (expression_statement "*(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";" (assignment_expression "*(char **)(puVar20 + -4) = "Failed to unlock mutex.\n"" (pointer_expression "*(char **)(puVar20 + -4)" * (cast_expression "(char **)(puVar20 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (string_literal ""Failed to unlock mutex.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xb06;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xb06" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar20 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1c7fe" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" else (compound_statement "{\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" { (expression_statement "unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);" (assignment_expression "unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac)" identifier = (cast_expression "(pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac)" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(s_Close_socket_failed__0002b058._4_4_ + 0xac)" ( (binary_expression "s_Close_socket_failed__0002b058._4_4_ + 0xac" (field_expression "s_Close_socket_failed__0002b058._4_4_" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "iVar9 = pthread_mutex_lock(unaff_EBP);" (assignment_expression "iVar9 = pthread_mutex_lock(unaff_EBP)" identifier = (call_expression "pthread_mutex_lock(unaff_EBP)" identifier (argument_list "(unaff_EBP)" ( identifier )))) ;) (expression_statement "puVar21 = auStack_38;" (assignment_expression "puVar21 = auStack_38" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }" { (expression_statement "s_select_failed___s_0002b135[7] = '\x01';" (assignment_expression "s_select_failed___s_0002b135[7] = '\x01'" (subscript_expression "s_select_failed___s_0002b135[7]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "*(undefined1 *)(uVar2 + 0xe3) = 1;" (assignment_expression "*(undefined1 *)(uVar2 + 0xe3) = 1" (pointer_expression "*(undefined1 *)(uVar2 + 0xe3)" * (cast_expression "(undefined1 *)(uVar2 + 0xe3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 + 0xe3)" ( (binary_expression "uVar2 + 0xe3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = pthread_mutex_unlock(unaff_EBP);" (assignment_expression "iVar9 = pthread_mutex_unlock(unaff_EBP)" identifier = (call_expression "pthread_mutex_unlock(unaff_EBP)" identifier (argument_list "(unaff_EBP)" ( identifier )))) ;) (expression_statement "puVar20 = auStack_38;" (assignment_expression "puVar20 = auStack_38" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }" { (expression_statement "piVar8 = *(int **)(uVar2 + 0xdc);" (assignment_expression "piVar8 = *(int **)(uVar2 + 0xdc)" identifier = (pointer_expression "*(int **)(uVar2 + 0xdc)" * (cast_expression "(int **)(uVar2 + 0xdc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar2 + 0xdc)" ( (binary_expression "uVar2 + 0xdc" identifier + number_literal) ))))) ;) (if_statement "if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }" if (parenthesized_expression "((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1))" ( (binary_expression "(piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)" (parenthesized_expression "(piVar8 != (int *)0xffffffff)" ( (binary_expression "piVar8 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)" ( (comma_expression "piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1" (assignment_expression "piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8)" identifier = (cast_expression "(int *)write((int)piVar8,&DAT_0002c7f0,8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "write((int)piVar8,&DAT_0002c7f0,8)" identifier (argument_list "((int)piVar8,&DAT_0002c7f0,8)" ( (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&DAT_0002c7f0" & identifier) , number_literal ))))) , (binary_expression "(int)piVar8 < 1" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }" if (parenthesized_expression "(*piVar8 != 0xb)" ( (binary_expression "*piVar8 != 0xb" (pointer_expression "*piVar8" * identifier) != number_literal) )) (compound_statement "{\n            piVar8 = (int *)FUN_000215b0();\n          }" { (expression_statement "piVar8 = (int *)FUN_000215b0();" (assignment_expression "piVar8 = (int *)FUN_000215b0()" identifier = (cast_expression "(int *)FUN_000215b0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))))) ;) })) })) (return_statement "return piVar8;" return identifier ;) })) (goto_statement "goto LAB_0001c7df;" goto statement_identifier ;) })) }))) (expression_statement "*(char **)(puVar21 + -4) = "Failed to lock mutex.\n";" (assignment_expression "*(char **)(puVar21 + -4) = "Failed to lock mutex.\n"" (pointer_expression "*(char **)(puVar21 + -4)" * (cast_expression "(char **)(puVar21 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (string_literal ""Failed to lock mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xb01;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xb01" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar21 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1c81d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1c81d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;" (assignment_expression "*(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP" (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x14)" * (cast_expression "(pthread_mutex_t **)(puVar21 + -0x14)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x18) = 0x1c826;" (assignment_expression "*(undefined4 *)(puVar21 + -0x18) = 0x1c826" (pointer_expression "*(undefined4 *)(puVar21 + -0x18)" * (cast_expression "(undefined4 *)(puVar21 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215a2();" (call_expression "FUN_000215a2()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(char **)(puVar21 + -0x18) = "daemon.c";" (assignment_expression "*(char **)(puVar21 + -0x18) = "daemon.c"" (pointer_expression "*(char **)(puVar21 + -0x18)" * (cast_expression "(char **)(puVar21 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x1c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x1c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x1c)" * (cast_expression "(undefined4 *)(puVar21 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;" (assignment_expression "*(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT" (pointer_expression "*(undefined ***)(puVar21 + -0x20)" * (cast_expression "(undefined ***)(puVar21 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar21 + -0x30)" * (cast_expression "(undefined4 *)(puVar21 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x30)" ( (binary_expression "puVar21 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar21 + -0xc);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0xc)" identifier = (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) ))))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0x18)" identifier = (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x37c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x37c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = *(uint *)(iVar12 + 0xf8);" (assignment_expression "uVar1 = *(uint *)(iVar12 + 0xf8)" identifier = (pointer_expression "*(uint *)(iVar12 + 0xf8)" * (cast_expression "(uint *)(iVar12 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xf8)" ( (binary_expression "iVar12 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar21 + -0x378) = uVar1;" (assignment_expression "*(uint *)(puVar21 + -0x378) = uVar1" (pointer_expression "*(uint *)(puVar21 + -0x378)" * (cast_expression "(uint *)(puVar21 + -0x378)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar21 + -0x370) = uVar1 & 0x40;" (assignment_expression "*(uint *)(puVar21 + -0x370) = uVar1 & 0x40" (pointer_expression "*(uint *)(puVar21 + -0x370)" * (cast_expression "(uint *)(puVar21 + -0x370)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) )))) = (binary_expression "uVar1 & 0x40" identifier & number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1c869;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1c869" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pVar10 = pthread_self();" (assignment_expression "pVar10 = pthread_self()" identifier = (call_expression "pthread_self()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar17 = '\0';" (assignment_expression "cVar17 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;" (assignment_expression "*(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338" (pointer_expression "*(undefined1 **)(puVar21 + -0x364)" * (cast_expression "(undefined1 **)(puVar21 + -0x364)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x364)" ( (binary_expression "puVar21 + -0x364" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x338" identifier + number_literal)) ;) (expression_statement "*(pthread_t *)(iVar9 + 0x5c) = pVar10;" (assignment_expression "*(pthread_t *)(iVar9 + 0x5c) = pVar10" (pointer_expression "*(pthread_t *)(iVar9 + 0x5c)" * (cast_expression "(pthread_t *)(iVar9 + 0x5c)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x5c)" ( (binary_expression "iVar9 + 0x5c" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (while_statement "while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }" while (parenthesized_expression "(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" * (cast_expression "(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }" { (if_statement "if (iVar12 == 0x13) goto LAB_0001cb7f;" if (parenthesized_expression "(iVar12 == 0x13)" ( (binary_expression "iVar12 == 0x13" identifier == number_literal) )) (goto_statement "goto LAB_0001cb7f;" goto statement_identifier ;)) (expression_statement "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);" (assignment_expression "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" identifier = (pointer_expression "*(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" * (cast_expression "(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xf0)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xf0" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);" (assignment_expression "bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1)" identifier = (binary_expression "*(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1)" (binary_expression "*(int *)(iVar9 + 0xdc) == 0" (pointer_expression "*(int *)(iVar9 + 0xdc)" * (cast_expression "(int *)(iVar9 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) == number_literal) & (pointer_expression "*(byte *)(iVar9 + 0xf1)" * (cast_expression "(byte *)(iVar9 + 0xf1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf1)" ( (binary_expression "iVar9 + 0xf1" identifier + number_literal) )))))) ;) (expression_statement "puVar21[-0x374] = bVar7;" (assignment_expression "puVar21[-0x374] = bVar7" (subscript_expression "puVar21[-0x374]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }" if (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }" { (if_statement "if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }" if (parenthesized_expression "(cVar17 != '\0')" ( (binary_expression "cVar17 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }" { (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc03;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc03" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000156d0();" (call_expression "FUN_000156d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc0b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00016b30();" (call_expression "FUN_00016b30()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" if (parenthesized_expression "((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0))))" ( (binary_expression "(*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))" (parenthesized_expression "(*(int *)(iVar9 + 0xb8) == 2)" ( (binary_expression "*(int *)(iVar9 + 0xb8) == 2" (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))" ( (parenthesized_expression "(*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0))" ( (binary_expression "*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)" (binary_expression "*(char *)(iVar9 + 0xf0) != '\0'" (pointer_expression "*(char *)(iVar9 + 0xf0)" * (cast_expression "(char *)(iVar9 + 0xf0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf0)" ( (binary_expression "iVar9 + 0xf0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(*(int *)(iVar9 + 0xb8) == 0)" ( (binary_expression "*(int *)(iVar9 + 0xb8) == 0" (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x34c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x34c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x34c)" * (cast_expression "(undefined4 *)(puVar21 + -0x34c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x34c)" ( (binary_expression "puVar21 + -0x34c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" * (cast_expression "(undefined1 **)(puVar21 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x34c" identifier + number_literal)) ;) (expression_statement "iVar12 = *(int *)(puVar21 + -0x370);" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x370)" identifier = (pointer_expression "*(int *)(puVar21 + -0x370)" * (cast_expression "(int *)(puVar21 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x348)" * (cast_expression "(undefined4 *)(puVar21 + -0x348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x348)" ( (binary_expression "puVar21 + -0x348" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar12 == 0) goto LAB_0001c927;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c927;" goto statement_identifier ;)) (labeled_statement "LAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);" statement_identifier : (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x334) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x334) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x334)" * (cast_expression "(undefined4 *)(puVar21 + -0x334)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x338) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x338) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x338)" * (cast_expression "(undefined4 *)(puVar21 + -0x338)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x338)" ( (binary_expression "puVar21 + -0x338" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb8);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 1)" ( (binary_expression "iVar12 == 1" identifier == number_literal) )) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }" { (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" * (cast_expression "(undefined2 *)(puVar21 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" else (if_statement "if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }" { (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 3;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 3" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" * (cast_expression "(undefined2 *)(puVar21 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" else (if_statement "if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }" { (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" * (cast_expression "(undefined2 *)(puVar21 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (iVar12 == 3) goto LAB_0001cb8d;" else (if_statement "if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 3)" ( (binary_expression "iVar12 == 3" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)))))))) (expression_statement "iVar12 = -1;" (assignment_expression "iVar12 = -1" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }" if (parenthesized_expression "(*(int *)(puVar21 + -0x378) != 0)" ( (binary_expression "*(int *)(puVar21 + -0x378) != 0" (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }" { (expression_statement "iVar12 = *(int *)(puVar21 + -0x34c) * 1000;" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x34c) * 1000" identifier = (binary_expression "*(int *)(puVar21 + -0x34c) * 1000" (pointer_expression "*(int *)(puVar21 + -0x34c)" * (cast_expression "(int *)(puVar21 + -0x34c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x34c)" ( (binary_expression "puVar21 + -0x34c" identifier + number_literal) )))) * number_literal)) ;) })) (expression_statement "*(int *)(puVar21 + -900) = iVar12;" (assignment_expression "*(int *)(puVar21 + -900) = iVar12" (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x364)" * (cast_expression "(undefined4 *)(puVar21 + -0x364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x364)" ( (binary_expression "puVar21 + -0x364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb15;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb15" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" identifier (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" ( (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" * (cast_expression "(pollfd **)(puVar21 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" * (cast_expression "(nfds_t *)(puVar21 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 < 0) goto LAB_0001cb20;" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0001cb20;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x38c)" * (cast_expression "(uint *)(puVar21 + -0x38c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (call_expression "(uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" ( (binary_expression "(*(ushort *)(puVar21 + -0x332) & 0xba) != 0" (parenthesized_expression "(*(ushort *)(puVar21 + -0x332) & 0xba)" ( (binary_expression "*(ushort *)(puVar21 + -0x332) & 0xba" (pointer_expression "*(ushort *)(puVar21 + -0x332)" * (cast_expression "(ushort *)(puVar21 + -0x332)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x332)" ( (binary_expression "puVar21 + -0x332" identifier + number_literal) )))) & number_literal) )) != number_literal) )))) ;) }) (else_clause "else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" else (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x378) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x378) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }" if (parenthesized_expression "(0 < iVar12)" ( (binary_expression "0 < iVar12" number_literal < identifier) )) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1c8f3" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00021e50();" (assignment_expression "iVar11 = FUN_00021e50()" identifier = (call_expression "FUN_00021e50()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = iVar11 - *(int *)(iVar9 + 0x94);" (assignment_expression "iVar11 = iVar11 - *(int *)(iVar9 + 0x94)" identifier = (binary_expression "iVar11 - *(int *)(iVar9 + 0x94)" identifier - (pointer_expression "*(int *)(iVar9 + 0x94)" * (cast_expression "(int *)(iVar9 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x94)" ( (binary_expression "iVar9 + 0x94" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x348)" * (cast_expression "(undefined4 *)(puVar21 + -0x348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x348)" ( (binary_expression "puVar21 + -0x348" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }" if (parenthesized_expression "(iVar11 <= iVar12)" ( (binary_expression "iVar11 <= iVar12" identifier <= identifier) )) (compound_statement "{\n            iVar16 = iVar12 - iVar11;\n          }" { (expression_statement "iVar16 = iVar12 - iVar11;" (assignment_expression "iVar16 = iVar12 - iVar11" identifier = (binary_expression "iVar12 - iVar11" identifier - identifier)) ;) })) (expression_statement "*(int *)(puVar21 + -0x34c) = iVar16;" (assignment_expression "*(int *)(puVar21 + -0x34c) = iVar16" (pointer_expression "*(int *)(puVar21 + -0x34c)" * (cast_expression "(int *)(puVar21 + -0x34c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x34c)" ( (binary_expression "puVar21 + -0x34c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" * (cast_expression "(undefined1 **)(puVar21 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x34c" identifier + number_literal)) ;) })) (expression_statement "iVar12 = *(int *)(puVar21 + -0x370);" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x370)" identifier = (pointer_expression "*(int *)(puVar21 + -0x370)" * (cast_expression "(int *)(puVar21 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001cab4;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cab4;" goto statement_identifier ;)) (labeled_statement "LAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;" statement_identifier : (expression_statement "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;" (assignment_expression "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330" (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" * (cast_expression "(undefined1 **)(puVar21 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x330" identifier + number_literal)) ;)) (expression_statement "piVar8 = (int *)(puVar21 + -0x330);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x330)" identifier = (cast_expression "(int *)(puVar21 + -0x330)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x330)" ( (binary_expression "puVar21 + -0x330" identifier + number_literal) )))) ;) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" for ( (assignment_expression "iVar16 = 0x20" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" { (expression_statement "*piVar8 = iVar12;" (assignment_expression "*piVar8 = iVar12" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0" (pointer_expression "*(undefined1 **)(puVar21 + -0x36c)" * (cast_expression "(undefined1 **)(puVar21 + -0x36c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x2b0" identifier + number_literal)) ;) (expression_statement "piVar8 = (int *)(puVar21 + -0x2b0);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x2b0)" identifier = (cast_expression "(int *)(puVar21 + -0x2b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x2b0)" ( (binary_expression "puVar21 + -0x2b0" identifier + number_literal) )))) ;) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" for ( (assignment_expression "iVar16 = 0x20" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" { (expression_statement "*piVar8 = iVar12;" (assignment_expression "*piVar8 = iVar12" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar8 = (int *)(puVar21 + -0x230);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x230)" identifier = (cast_expression "(int *)(puVar21 + -0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x230)" ( (binary_expression "puVar21 + -0x230" identifier + number_literal) )))) ;) (expression_statement "piVar14 = piVar8;" (assignment_expression "piVar14 = piVar8" identifier = identifier) ;) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }" for ( (assignment_expression "iVar16 = 0x20" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }" { (expression_statement "*piVar14 = iVar12;" (assignment_expression "*piVar14 = iVar12" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb8);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x354) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x354) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -0x354)" * (cast_expression "(undefined4 *)(puVar21 + -0x354)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x354)" ( (binary_expression "puVar21 + -0x354" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" if (parenthesized_expression "(iVar12 == 1)" ( (binary_expression "iVar12 == 1" identifier == number_literal) )) (compound_statement "{\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }" { (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x354" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x36c)" * (cast_expression "(undefined4 *)(puVar21 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cd5f" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_000225e0();" (assignment_expression "iVar12 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }" { (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8b6" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cee7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cee7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;) })) (expression_statement "piVar8 = *(int **)(puVar21 + -0x360);" (assignment_expression "piVar8 = *(int **)(puVar21 + -0x360)" identifier = (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar21 + -0x354) + 1;" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x354) + 1" identifier = (binary_expression "*(int *)(puVar21 + -0x354) + 1" (pointer_expression "*(int *)(puVar21 + -0x354)" * (cast_expression "(int *)(puVar21 + -0x354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x354)" ( (binary_expression "puVar21 + -0x354" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" else (compound_statement "{\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" { (if_statement "if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }" { (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x354" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x368)" * (cast_expression "(undefined4 *)(puVar21 + -0x368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001cd52;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x354" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar21 + -0x388) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x388) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x388)" * (cast_expression "(int **)(puVar21 + -0x388)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001cd52;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 3)" ( (binary_expression "iVar12 == 3" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) }))) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar21 + -0x390) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x390) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x390)" * (cast_expression "(int **)(puVar21 + -0x390)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" * (cast_expression "(undefined4 *)(puVar21 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x36c)" * (cast_expression "(undefined4 *)(puVar21 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" * (cast_expression "(undefined4 *)(puVar21 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x368)" * (cast_expression "(undefined4 *)(puVar21 + -0x368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x39c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x39c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x398)" * (cast_expression "(fd_set **)(puVar21 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x394)" * (cast_expression "(fd_set **)(puVar21 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x390)" * (cast_expression "(fd_set **)(puVar21 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar21 + -0x38c)" * (cast_expression "(timeval **)(puVar21 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cc5d" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }" if (parenthesized_expression "(iVar12 != 4)" ( (binary_expression "iVar12 != 4" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }" { (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001cc6c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001cd30;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1c9c2" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = __fdelt_chk();" (assignment_expression "iVar12 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = (byte)((int)uVar2 >> 0x1f);" (assignment_expression "bVar7 = (byte)((int)uVar2 >> 0x1f)" identifier = (call_expression "(byte)((int)uVar2 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)uVar2 >> 0x1f)" ( (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x378)" * (cast_expression "(uint *)(puVar21 + -0x378)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (call_expression "(uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" ( (binary_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x230)" * (cast_expression "(uint *)(puVar21 + iVar12 * 4 + -0x230)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + iVar12 * 4 + -0x230)" ( (binary_expression "puVar21 + iVar12 * 4 + -0x230" (binary_expression "puVar21 + iVar12 * 4" identifier + (binary_expression "iVar12 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" ( (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f" (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3)" (parenthesized_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f)" ( (binary_expression "(char)uVar2 + (bVar7 >> 3) & 0x1f" (binary_expression "(char)uVar2 + (bVar7 >> 3)" (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier) + (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1c9fb" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = __fdelt_chk();" (assignment_expression "iVar12 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = (byte)((int)uVar2 >> 0x1f);" (assignment_expression "bVar7 = (byte)((int)uVar2 >> 0x1f)" identifier = (call_expression "(byte)((int)uVar2 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)uVar2 >> 0x1f)" ( (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x36c)" * (cast_expression "(uint *)(puVar21 + -0x36c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) = (call_expression "(uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" ( (binary_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x2b0)" * (cast_expression "(uint *)(puVar21 + iVar12 * 4 + -0x2b0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + iVar12 * 4 + -0x2b0)" ( (binary_expression "puVar21 + iVar12 * 4 + -0x2b0" (binary_expression "puVar21 + iVar12 * 4" identifier + (binary_expression "iVar12 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" ( (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f" (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3)" (parenthesized_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f)" ( (binary_expression "(char)uVar2 + (bVar7 >> 3) & 0x1f" (binary_expression "(char)uVar2 + (bVar7 >> 3)" (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier) + (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ca35;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ca35" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__fdelt_chk();" (call_expression "__fdelt_chk()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) }))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ca66;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ca66" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_00019590();" (assignment_expression "iVar12 = FUN_00019590()" identifier = (call_expression "FUN_00019590()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0x14) goto LAB_0001ca80;" if (parenthesized_expression "(iVar12 != 0x14)" ( (binary_expression "iVar12 != 0x14" identifier != number_literal) )) (goto_statement "goto LAB_0001ca80;" goto statement_identifier ;)) (expression_statement "pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);" (assignment_expression "pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" identifier = (pointer_expression "*(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" * (cast_expression "(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0x48)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0x48" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }" if (parenthesized_expression "((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0'))" ( (binary_expression "(pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')" (parenthesized_expression "(pcVar3 != (code *)0x0)" ( (binary_expression "pcVar3 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)(iVar9 + 0xa0) != '\0')" ( (binary_expression "*(char *)(iVar9 + 0xa0) != '\0'" (pointer_expression "*(char *)(iVar9 + 0xa0)" * (cast_expression "(char *)(iVar9 + 0xa0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa0)" ( (binary_expression "iVar9 + 0xa0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -900) = iVar9 + 0x2c;" (assignment_expression "*(int *)(puVar21 + -900) = iVar9 + 0x2c" (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "iVar9 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x388) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x388) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0x4c)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0x4c" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ce83;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ce83" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar8 = *(int **)(iVar9 + 0xdc);" (assignment_expression "piVar8 = *(int **)(iVar9 + 0xdc)" identifier = (pointer_expression "*(int **)(iVar9 + 0xdc)" * (cast_expression "(int **)(iVar9 + 0xdc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar9 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(iVar9 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(iVar9 + 0xa0)" * (cast_expression "(undefined1 *)(iVar9 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa0)" ( (binary_expression "iVar9 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);" (assignment_expression "uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" * (cast_expression "(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x18) + 0xf8)" ( (binary_expression "*(int *)(iVar9 + 0x18) + 0xf8" (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }" if (parenthesized_expression "((uVar1 & 0x42) == 2)" ( (binary_expression "(uVar1 & 0x42) == 2" (parenthesized_expression "(uVar1 & 0x42)" ( (binary_expression "uVar1 & 0x42" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }" { (expression_statement "*(int *)(puVar21 + -0x36c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x36c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;" statement_identifier : (if_statement "if (piVar8[8] != 0) goto LAB_0001cf15;" if (parenthesized_expression "(piVar8[8] != 0)" ( (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0001cf15;" goto statement_identifier ;))) (labeled_statement "LAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" statement_identifier : (if_statement "if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" if (parenthesized_expression "(((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0))" ( (binary_expression "((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)" (parenthesized_expression "((piVar8[9] != 0) || (piVar8[10] != 0))" ( (binary_expression "(piVar8[9] != 0) || (piVar8[10] != 0)" (parenthesized_expression "(piVar8[9] != 0)" ( (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar8[0xb] != 0)" ( (binary_expression "piVar8[0xb] != 0" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" { (labeled_statement "LAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;" statement_identifier : (expression_statement "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0" (pointer_expression "*(undefined1 **)(puVar21 + -0x37c)" * (cast_expression "(undefined1 **)(puVar21 + -0x37c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x1b0" identifier + number_literal)) ;)) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x1b0);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x1b0)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1b0)" ( (binary_expression "puVar21 + -0x1b0" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x20" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" * (cast_expression "(undefined1 **)(puVar21 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x130" identifier + number_literal)) ;) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x130);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x130)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x130)" ( (binary_expression "puVar21 + -0x130" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x20" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x374)" * (cast_expression "(undefined1 **)(puVar21 + -0x374)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = (binary_expression "puVar21 + -0xb0" identifier + number_literal)) ;) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0xb0);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0xb0)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xb0)" ( (binary_expression "puVar21 + -0xb0" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x20" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x350) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x350) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -0x350)" * (cast_expression "(undefined4 *)(puVar21 + -0x350)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x350)" ( (binary_expression "puVar21 + -0x350" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = *piVar8;" (assignment_expression "iVar9 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar12 = piVar8[0x10];" (assignment_expression "iVar12 = piVar8[0x10]" identifier = (subscript_expression "piVar8[0x10]" identifier [ number_literal ])) ;) (expression_statement "puVar21[-0x370] = 1;" (assignment_expression "puVar21[-0x370] = 1" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = *(int *)(iVar9 + 0xa4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xa4)" * (cast_expression "(int *)(iVar9 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" { (if_statement "if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }" { (labeled_statement "LAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" statement_identifier : (if_statement "if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" if (parenthesized_expression "((uint)piVar8[0xb] < (uint)piVar8[9])" ( (binary_expression "(uint)piVar8[0xb] < (uint)piVar8[9]" (cast_expression "(uint)piVar8[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[0xb]" identifier [ number_literal ])) < (cast_expression "(uint)piVar8[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" * (cast_expression "(undefined1 **)(puVar21 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" * (cast_expression "(undefined4 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d0dd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = FUN_000225e0();" (assignment_expression "iVar9 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) goto LAB_0001cfbd;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cfbd;" goto statement_identifier ;)) (expression_statement "puVar18 = *(undefined1 **)(puVar21 + -0x368);" (assignment_expression "puVar18 = *(undefined1 **)(puVar21 + -0x368)" identifier = (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" * (cast_expression "(undefined1 **)(puVar21 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (if_statement "if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" if (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" { (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d14c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;" statement_identifier : (if_statement "if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;" if (parenthesized_expression "((*(byte *)(piVar8 + 0x11) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar8 + 0x11) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0x11) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0x11) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0x11)" * (cast_expression "(byte *)(piVar8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x11)" ( (binary_expression "piVar8 + 0x11" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d3f9;" goto statement_identifier ;))) (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" else (compound_statement "{\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" { (labeled_statement "LAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;" statement_identifier : (expression_statement "puVar18 = puVar21 + -0x350;" (assignment_expression "puVar18 = puVar21 + -0x350" identifier = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;)) (if_statement "if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }" if (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }" { (labeled_statement "LAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar18;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar18" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d15e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d15e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = FUN_000225e0();" (assignment_expression "iVar9 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001d0f3;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d0f3;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;" if (parenthesized_expression "((*(byte *)(piVar8 + 0x11) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar8 + 0x11) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0x11) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0x11) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0x11)" * (cast_expression "(byte *)(piVar8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x11)" ( (binary_expression "piVar8 + 0x11" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d000;" goto statement_identifier ;)) })))) (if_statement "if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }" if (parenthesized_expression "(((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0))" ( (binary_expression "((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)" (parenthesized_expression "((piVar8[9] != 0) || (piVar8[8] != 0))" ( (binary_expression "(piVar8[9] != 0) || (piVar8[8] != 0)" (parenthesized_expression "(piVar8[9] != 0)" ( (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(piVar8[8] != 0)" ( (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cffd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cffd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000225e0();" (call_expression "FUN_000225e0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001d000;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d07b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d07b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00019470();" (call_expression "FUN_00019470()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d082;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d082" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00019710();" (call_expression "FUN_00019710()" identifier (argument_list "()" ( ))) ;) (if_statement "if (piVar8[8] == 0) goto LAB_0001cefc;" if (parenthesized_expression "(piVar8[8] == 0)" ( (binary_expression "piVar8[8] == 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0001cefc;" goto statement_identifier ;)) (goto_statement "goto LAB_0001cf15;" goto statement_identifier ;) })) (if_statement "if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }" if (parenthesized_expression "((uint)piVar8[10] < (uint)piVar8[8])" ( (binary_expression "(uint)piVar8[10] < (uint)piVar8[8]" (cast_expression "(uint)piVar8[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[10]" identifier [ number_literal ])) < (cast_expression "(uint)piVar8[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[8]" identifier [ number_literal ]))) )) (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" * (cast_expression "(undefined4 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x368) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x368) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d185;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d185" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = FUN_000225e0();" (assignment_expression "iVar16 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(puVar21 + -0x368);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x368)" identifier = (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (expression_statement "puVar21[-0x370] = iVar16 != 0;" (assignment_expression "puVar21[-0x370] = iVar16 != 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = (binary_expression "iVar16 != 0" identifier != number_literal)) ;) })) (if_statement "if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" if (parenthesized_expression "(piVar8[0xb] == 0)" ( (binary_expression "piVar8[0xb] == 0" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }" { (labeled_statement "LAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" statement_identifier : (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }" { (labeled_statement "LAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" statement_identifier : (if_statement "if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" if (parenthesized_expression "(((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0))" ( (binary_expression "((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)" (parenthesized_expression "((piVar8[8] != 0) || (piVar8[9] != 0))" ( (binary_expression "(piVar8[8] != 0) || (piVar8[9] != 0)" (parenthesized_expression "(piVar8[8] != 0)" ( (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(piVar8[9] != 0)" ( (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar8[0xb] != 0)" ( (binary_expression "piVar8[0xb] != 0" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d0ab" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000225e0();" (call_expression "FUN_000225e0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001d0ae;" goto statement_identifier ;) }))) (if_statement "if (iVar12 != -1) goto LAB_0001cfbd;" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001cfbd;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" else (compound_statement "{\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" { (labeled_statement "LAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;" statement_identifier : (if_statement "if (iVar12 != -1) goto LAB_0001d0b7;" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001d0b7;" goto statement_identifier ;))) })))) (labeled_statement "LAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" statement_identifier : (if_statement "if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" if (parenthesized_expression "(puVar21[-0x370] != '\0')" ( (binary_expression "puVar21[-0x370] != '\0'" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" { (if_statement "if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;" if (parenthesized_expression "(*(int *)(puVar21 + -0x350) == -1)" ( (binary_expression "*(int *)(puVar21 + -0x350) == -1" (pointer_expression "*(int *)(puVar21 + -0x350)" * (cast_expression "(int *)(puVar21 + -0x350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x350)" ( (binary_expression "puVar21 + -0x350" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001d065;" goto statement_identifier ;)) (expression_statement "puVar18 = (undefined1 *)0x0;" (assignment_expression "puVar18 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }" if (parenthesized_expression "((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8]))" ( (binary_expression "(*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])" (parenthesized_expression "(*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0')" ( (binary_expression "*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0)" * (cast_expression "(char *)(*(int *)(puVar21 + -0x36c) + 0xf0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x36c) + 0xf0)" ( (binary_expression "*(int *)(puVar21 + -0x36c) + 0xf0" (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((uint)piVar8[10] < (uint)piVar8[8])" ( (binary_expression "(uint)piVar8[10] < (uint)piVar8[8]" (cast_expression "(uint)piVar8[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[10]" identifier [ number_literal ])) < (cast_expression "(uint)piVar8[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[8]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x344) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x344) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x344)" * (cast_expression "(undefined4 *)(puVar21 + -0x344)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x344)" ( (binary_expression "puVar21 + -0x344" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar18 = puVar21 + -0x344;" (assignment_expression "puVar18 = puVar21 + -0x344" identifier = (binary_expression "puVar21 + -0x344" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x340) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x340) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x340)" * (cast_expression "(undefined4 *)(puVar21 + -0x340)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x340)" ( (binary_expression "puVar21 + -0x340" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x38c) = puVar18;" (assignment_expression "*(undefined1 **)(puVar21 + -0x38c) = puVar18" (pointer_expression "*(undefined1 **)(puVar21 + -0x38c)" * (cast_expression "(undefined1 **)(puVar21 + -0x38c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" * (cast_expression "(undefined4 *)(puVar21 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" * (cast_expression "(undefined4 *)(puVar21 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" * (cast_expression "(undefined4 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;" (assignment_expression "*(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1" (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar21 + -0x350) + 1" (pointer_expression "*(int *)(puVar21 + -0x350)" * (cast_expression "(int *)(puVar21 + -0x350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x350)" ( (binary_expression "puVar21 + -0x350" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x398)" * (cast_expression "(fd_set **)(puVar21 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x394)" * (cast_expression "(fd_set **)(puVar21 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x390)" * (cast_expression "(fd_set **)(puVar21 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar21 + -0x38c)" * (cast_expression "(timeval **)(puVar21 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d116;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d116" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" 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 "iVar12 = *piVar14;" (assignment_expression "iVar12 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if (iVar12 == 4) goto LAB_0001cef5;" if (parenthesized_expression "(iVar12 == 4)" ( (binary_expression "iVar12 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0001cef5;" goto statement_identifier ;)) (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d12e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d12e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -0x390) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -0x390) = pcVar15" (pointer_expression "*(char **)(puVar21 + -0x390)" * (cast_expression "(char **)(puVar21 + -0x390)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x394) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x394) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x394)" * (cast_expression "(int *)(puVar21 + -0x394)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;" (assignment_expression "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552" (pointer_expression "*(int *)(puVar21 + -0x398)" * (cast_expression "(int *)(puVar21 + -0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xf552" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x39c)" * (cast_expression "(undefined4 *)(puVar21 + -0x39c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d065;" goto statement_identifier ;) }))) }) (else_clause "else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x368) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x368) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d1b2" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = FUN_000225e0();" (assignment_expression "iVar16 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(puVar21 + -0x368);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x368)" identifier = (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 != 0) goto LAB_0001cf8d;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cf8d;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" { (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001cf97;" goto statement_identifier ;) })) (if_statement "if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" { (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d0b7;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);" statement_identifier : (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;)) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8eb" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d411;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d411" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) }))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (if_statement "if ((uVar1 & 2) == 0) goto LAB_0001ceb0;" if (parenthesized_expression "((uVar1 & 2) == 0)" ( (binary_expression "(uVar1 & 2) == 0" (parenthesized_expression "(uVar1 & 2)" ( (binary_expression "uVar1 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar21 + -0xb0) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xb0) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xb0)" * (cast_expression "(undefined4 *)(puVar21 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xb0)" ( (binary_expression "puVar21 + -0xb0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xa8) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xa8) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xa8)" * (cast_expression "(undefined4 *)(puVar21 + -0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa8)" ( (binary_expression "puVar21 + -0xa8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xac)" * (cast_expression "(undefined4 *)(puVar21 + -0xac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xa4)" * (cast_expression "(undefined4 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int *)(puVar21 + -0x378) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x378) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0xb0)" * (cast_expression "(undefined4 *)(puVar21 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xb0)" ( (binary_expression "puVar21 + -0xb0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar12 + 0xa4)" * (cast_expression "(undefined4 *)(iVar12 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xa4)" ( (binary_expression "iVar12 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0xa8) = piVar8[0x10];" (assignment_expression "*(int *)(puVar21 + -0xa8) = piVar8[0x10]" (pointer_expression "*(int *)(puVar21 + -0xa8)" * (cast_expression "(int *)(puVar21 + -0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa8)" ( (binary_expression "puVar21 + -0xa8" identifier + number_literal) )))) = (subscript_expression "piVar8[0x10]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001d229;" goto statement_identifier ;) })) (if_statement "if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" if (parenthesized_expression "(*(int *)(puVar21 + -0x370) == 0)" ( (binary_expression "*(int *)(puVar21 + -0x370) == 0" (pointer_expression "*(int *)(puVar21 + -0x370)" * (cast_expression "(int *)(puVar21 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }" { (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x330);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x330)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0x330)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x330)" ( (binary_expression "puVar21 + -0x330" identifier + number_literal) )))) ;) (expression_statement "puVar23 = puVar24;" (assignment_expression "puVar23 = puVar24" identifier = identifier) ;) (for_statement "for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }" for ( (assignment_expression "iVar12 = 0x20" identifier = number_literal) ; (binary_expression "iVar12 != 0" identifier != number_literal) ; (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ) (compound_statement "{\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }" { (expression_statement "*puVar23 = 0;" (assignment_expression "*puVar23 = 0" (pointer_expression "*puVar23" * identifier) = number_literal) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -900) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar21 + -0x388) = puVar24;" (assignment_expression "*(undefined4 **)(puVar21 + -0x388) = puVar24" (pointer_expression "*(undefined4 **)(puVar21 + -0x388)" * (cast_expression "(undefined4 **)(puVar21 + -0x388)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar21 + -0x378) = puVar24;" (assignment_expression "*(undefined4 **)(puVar21 + -0x378) = puVar24" (pointer_expression "*(undefined4 **)(puVar21 + -0x378)" * (cast_expression "(undefined4 **)(puVar21 + -0x378)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ccd7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_000225e0();" (assignment_expression "iVar12 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }" { (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8b6" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d3f1" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" * (cast_expression "(undefined4 *)(puVar21 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" * (cast_expression "(undefined4 *)(puVar21 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" identifier = (pointer_expression "*(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x378) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x378) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x39c) = iVar12 + 1;" (assignment_expression "*(int *)(puVar21 + -0x39c) = iVar12 + 1" (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x398)" * (cast_expression "(fd_set **)(puVar21 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x394)" * (cast_expression "(fd_set **)(puVar21 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x390)" * (cast_expression "(fd_set **)(puVar21 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar21 + -0x38c)" * (cast_expression "(timeval **)(puVar21 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar12) goto LAB_0001cdf2;" if (parenthesized_expression "(-1 < iVar12)" ( (binary_expression "-1 < iVar12" number_literal < identifier) )) (goto_statement "goto LAB_0001cdf2;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cd17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cd17" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" if (parenthesized_expression "(iVar12 != 4)" ( (binary_expression "iVar12 != 4" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" { (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc71;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc71" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -0x390) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -0x390) = pcVar15" (pointer_expression "*(char **)(puVar21 + -0x390)" * (cast_expression "(char **)(puVar21 + -0x390)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x394) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x394) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x394)" * (cast_expression "(int *)(puVar21 + -0x394)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;" (assignment_expression "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552" (pointer_expression "*(int *)(puVar21 + -0x398)" * (cast_expression "(int *)(puVar21 + -0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xf552" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x39c)" * (cast_expression "(undefined4 *)(puVar21 + -0x39c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;" if (parenthesized_expression "(*(int *)(iVar9 + 0xb4) == 0x13)" ( (binary_expression "*(int *)(iVar9 + 0xb4) == 0x13" (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001cb7f;" goto statement_identifier ;)) (goto_statement "goto LAB_0001cb5c;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -0x334) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x334) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x334)" * (cast_expression "(undefined4 *)(puVar21 + -0x334)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x338)" * (cast_expression "(undefined4 *)(puVar21 + -0x338)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x338)" ( (binary_expression "puVar21 + -0x338" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -900) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x364)" * (cast_expression "(undefined4 *)(puVar21 + -0x364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x364)" ( (binary_expression "puVar21 + -0x364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cde7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cde7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" identifier (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" ( (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" * (cast_expression "(pollfd **)(puVar21 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" * (cast_expression "(nfds_t *)(puVar21 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }" if (parenthesized_expression "(-1 < iVar12)" ( (binary_expression "-1 < iVar12" number_literal < identifier) )) (compound_statement "{\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }" { (labeled_statement "LAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;" (assignment_expression "*(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344" (pointer_expression "*(undefined1 **)(puVar21 + -0x388)" * (cast_expression "(undefined1 **)(puVar21 + -0x388)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x344" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ce0d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));" (call_expression "read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900))" identifier (argument_list "(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar21 + -0x388)" * (cast_expression "(void **)(puVar21 + -0x388)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -900)" * (cast_expression "(size_t *)(puVar21 + -900)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) ))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ca80;" goto statement_identifier ;) })) (labeled_statement "LAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cb25;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cb25" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }" if (parenthesized_expression "(*piVar8 != 4)" ( (binary_expression "*piVar8 != 4" (pointer_expression "*piVar8" * identifier) != number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }" { (expression_statement "*(int *)(puVar21 + -0x38c) = *piVar8;" (assignment_expression "*(int *)(puVar21 + -0x38c) = *piVar8" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb3b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -900) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -900) = pcVar15" (pointer_expression "*(char **)(puVar21 + -900)" * (cast_expression "(char **)(puVar21 + -900)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8d2" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb4e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) }))) (labeled_statement "LAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);" statement_identifier : (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0001ca80:\n    cVar17 = puVar21[-0x374];" statement_identifier : (expression_statement "cVar17 = puVar21[-0x374];" (assignment_expression "cVar17 = puVar21[-0x374]" identifier = (subscript_expression "puVar21[-0x374]" identifier [ number_literal ])) ;)) })) (if_statement "if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }" if (parenthesized_expression "(iVar12 != 0x13)" ( (binary_expression "iVar12 != 0x13" identifier != number_literal) )) (compound_statement "{\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }" { (labeled_statement "LAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" statement_identifier : (expression_statement "*(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" (assignment_expression "*(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (pointer_expression "*(uint *)(puVar21 + -0x388)" * (cast_expression "(uint *)(puVar21 + -0x388)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (parenthesized_expression "(-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe)" ( (binary_expression "-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe" (unary_expression "-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" - (call_expression "(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" * (cast_expression "(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal)) ;)) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb7c" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000151b0();" (call_expression "FUN_000151b0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;" statement_identifier : (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb8a" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00016b30();" (call_expression "FUN_00016b30()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" statement_identifier : (if_statement "if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" if (parenthesized_expression "(*(int *)(iVar9 + 0x24) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x24) != 0" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" { (expression_statement "*(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);" (assignment_expression "*(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24)" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb9f" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_destroy_response();" (call_expression "MHD_destroy_response()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x24) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x24)" * (cast_expression "(undefined4 *)(iVar9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar9 = *(int *)(iVar9 + 0xa4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xa4)" * (cast_expression "(int *)(iVar9 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cbc1" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));" (call_expression "shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388))" identifier (argument_list "(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar9 = *(int *)(puVar21 + -0x37c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x37c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xdc);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xdc)" identifier = (pointer_expression "*(int *)(iVar9 + 0xdc)" * (cast_expression "(int *)(iVar9 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xffca" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc2c" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));" (assignment_expression "sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" identifier = (call_expression "write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" identifier (argument_list "(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar21 + -0x388)" * (cast_expression "(void **)(puVar21 + -0x388)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -900)" * (cast_expression "(size_t *)(puVar21 + -900)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }" if (parenthesized_expression "(sVar13 < 1)" ( (binary_expression "sVar13 < 1" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cc38;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cc38" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }" if (parenthesized_expression "(*piVar8 != 0xb)" ( (binary_expression "*piVar8 != 0xb" (pointer_expression "*piVar8" * identifier) != number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }" { (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xf572" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc4d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) })) })) })) (labeled_statement "LAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" statement_identifier : (if_statement "if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" if (parenthesized_expression "(*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar21 + -0x30)" * (cast_expression "(int *)(puVar21 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x30)" ( (binary_expression "puVar21 + -0x30" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" { comment (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d428;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d428" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) (while_statement "while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d316;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d316" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar14 != 4) break;" if (parenthesized_expression "(*piVar14 != 4)" ( (binary_expression "*piVar14 != 4" (pointer_expression "*piVar14" * identifier) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001d229:\n    uVar1 = piVar8[8];" statement_identifier : (expression_statement "uVar1 = piVar8[8];" (assignment_expression "uVar1 = piVar8[8]" identifier = (subscript_expression "piVar8[8]" identifier [ number_literal ])) ;)) (expression_statement "uVar4 = piVar8[9];" (assignment_expression "uVar4 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = piVar8[10];" (assignment_expression "uVar5 = piVar8[10]" identifier = (subscript_expression "piVar8[10]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = piVar8[0xb];" (assignment_expression "uVar6 = piVar8[0xb]" identifier = (subscript_expression "piVar8[0xb]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }" { (if_statement "if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }" if (parenthesized_expression "((uVar5 == 0 && uVar4 == 0) && uVar6 == 0)" ( (binary_expression "(uVar5 == 0 && uVar4 == 0) && uVar6 == 0" (parenthesized_expression "(uVar5 == 0 && uVar4 == 0)" ( (binary_expression "uVar5 == 0 && uVar4 == 0" (binary_expression "uVar5 == 0" identifier == number_literal) && (binary_expression "uVar4 == 0" identifier == number_literal)) )) && (binary_expression "uVar6 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }" { (expression_statement "iVar9 = *(int *)(puVar21 + -0x378);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x378)" identifier = (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" * (cast_expression "(undefined2 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) }) (else_clause "else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" else (compound_statement "{\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" { (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" * (cast_expression "(undefined2 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" if (parenthesized_expression "(uVar5 < uVar1)" ( (binary_expression "uVar5 < uVar1" identifier < identifier) )) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 1;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 1" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 3;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 3" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 7;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 7" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }) (else_clause "else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" else (compound_statement "{\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = number_literal) ;) }))) }))) (if_statement "if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }" { (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d28f;" goto statement_identifier ;)) (if_statement "if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }" if (parenthesized_expression "(uVar1 != 0 || uVar4 != 0)" ( (binary_expression "uVar1 != 0 || uVar4 != 0" (binary_expression "uVar1 != 0" identifier != number_literal) || (binary_expression "uVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374)" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001d377;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" else (compound_statement "{\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" { (expression_statement "*(undefined2 *)(puVar21 + -0xac) = uVar22;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = uVar22" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }" { (labeled_statement "LAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);" statement_identifier : (expression_statement "*(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;)) })) (labeled_statement "LAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" statement_identifier : (if_statement "if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" if (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 1;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 1" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" * (cast_expression "(undefined2 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) }))) }))) (expression_statement "uVar6 = piVar8[0x11];" (assignment_expression "uVar6 = piVar8[0x11]" identifier = (subscript_expression "piVar8[0x11]" identifier [ number_literal ])) ;) (if_statement "if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }" { (if_statement "if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }" if (parenthesized_expression "(((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0))" ( (binary_expression "((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)" (parenthesized_expression "((uVar6 & 0x80) == 0)" ( (binary_expression "(uVar6 & 0x80) == 0" (parenthesized_expression "(uVar6 & 0x80)" ( (binary_expression "uVar6 & 0x80" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar4 != 0 || uVar1 != 0)" ( (binary_expression "uVar4 != 0 || uVar1 != 0" (binary_expression "uVar4 != 0" identifier != number_literal) || (binary_expression "uVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }" { (expression_statement "uVar19 = *(ushort *)(puVar21 + -0xa4);" (assignment_expression "uVar19 = *(ushort *)(puVar21 + -0xa4)" identifier = (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001d2c8;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" else (compound_statement "{\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" { (expression_statement "uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;" (assignment_expression "uVar19 = *(ushort *)(puVar21 + -0xa4) | 4" identifier = (binary_expression "*(ushort *)(puVar21 + -0xa4) | 4" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(ushort *)(puVar21 + -0xa4) = uVar19;" (assignment_expression "*(ushort *)(puVar21 + -0xa4) = uVar19" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }" if (parenthesized_expression "((uVar6 & 0x80) == 0)" ( (binary_expression "(uVar6 & 0x80) == 0" (parenthesized_expression "(uVar6 & 0x80)" ( (binary_expression "uVar6 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }" { (labeled_statement "LAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;" statement_identifier : (expression_statement "*(ushort *)(puVar21 + -0xa4) = uVar19 | 2;" (assignment_expression "*(ushort *)(puVar21 + -0xa4) = uVar19 | 2" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = (binary_expression "uVar19 | 2" identifier | number_literal)) ;)) })) }))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x378);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x378)" identifier = (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);" (assignment_expression "*(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (pointer_expression "*(uint *)(puVar21 + -900)" * (cast_expression "(uint *)(puVar21 + -900)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (unary_expression "-(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" - (call_expression "(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" ( (binary_expression "uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1" (binary_expression "uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0)" (binary_expression "uVar5 < uVar1" identifier < identifier) & (pointer_expression "*(byte *)(iVar9 + 0xf0)" * (cast_expression "(byte *)(iVar9 + 0xf0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf0)" ( (binary_expression "iVar9 + 0xf0" identifier + number_literal) ))))) ^ number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 2" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x38c)" * (cast_expression "(undefined1 **)(puVar21 + -0x38c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0xb0" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x37c)" * (cast_expression "(undefined1 **)(puVar21 + -0x37c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0xb0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d303;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d303" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" identifier (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" ( (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" * (cast_expression "(pollfd **)(puVar21 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" * (cast_expression "(nfds_t *)(puVar21 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }" if (parenthesized_expression "(-1 < iVar12)" ( (binary_expression "-1 < iVar12" number_literal < identifier) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d3d5" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018fb0();" (call_expression "FUN_00018fb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d3da;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d3da" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00019710();" (call_expression "FUN_00019710()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001d229;" goto statement_identifier ;) })) })) (expression_statement "*(int *)(puVar21 + -0x38c) = *piVar14;" (assignment_expression "*(int *)(puVar21 + -0x38c) = *piVar14" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d32a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d32a" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -900) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -900) = pcVar15" (pointer_expression "*(char **)(puVar21 + -900)" * (cast_expression "(char **)(puVar21 + -900)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8d2" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d33d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d33d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;" statement_identifier : (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cebb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cebb" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00015540();" (call_expression "FUN_00015540()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;" (assignment_expression "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1" (pointer_expression "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51)" * (cast_expression "(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0xdc) + 0x51)" ( (binary_expression "*(int *)(iVar9 + 0xdc) + 0x51" (pointer_expression "*(int *)(iVar9 + 0xdc)" * (cast_expression "(int *)(iVar9 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cecd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cecd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_resume_connection();" (call_expression "MHD_resume_connection()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cbd2;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "MHD_FLAG": Some values do not have unique names */\n/* WARNING: Enum "gnutls_pk_algorithm_t": Some values do not have unique names */\n/* WARNING: Enum "gnutls_certificate_type_t": Some values do not have unique names */\n\nvoid MHD_suspend_connection(MHD_Connection *connection)\n\n{\n  MHD_Daemon *pMVar1;\n  MHD_FLAG MVar2;\n  MHD_ConnectionEventLoopInfo MVar3;\n  MHD_socket MVar4;\n  code *pcVar5;\n  MHD_UpgradeResponseHandle *urh;\n  MHD_Connection *pMVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  byte bVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  pthread_t pVar15;\n  time_t tVar16;\n  int iVar17;\n  int iVar18;\n  MHD_CONNECTION_STATE MVar19;\n  char *pcVar20;\n  MHD_UpgradeResponseHandle *urh_00;\n  undefined1 write_ready;\n  int iVar21;\n  MHD_EpollState MVar22;\n  char cVar23;\n  undefined1 *puVar24;\n  ushort uVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  MHD_mutex_ *unaff_EBP;\n  undefined2 uVar28;\n  MHD_Connection *pMVar29;\n  int *piVar30;\n  undefined4 *puVar31;\n  undefined4 *puVar32;\n  int in_GS_OFFSET;\n  _Bool read_ready;\n  int aiStack_3f8 [5];\n  uint uStack_3e4;\n  MHD_RequestTerminationCode MStack_3e0;\n  size_t sStack_3dc;\n  uint uStack_3d8;\n  int aiStack_3d4 [2];\n  byte abStack_3cc [4];\n  MHD_FLAG MStack_3c8;\n  uint auStack_3c4 [14];\n  undefined4 uStack_38c;\n  MHD_socket MStack_108;\n  MHD_socket aMStack_104 [2];\n  ushort auStack_fc [58];\n  int aiStack_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((connection->daemon->options & 0x2000) != MHD_NO_FLAG) {\n    if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {\n      internal_suspend_connection_(connection);\n      return;\n    }\n    MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");\n    return;\n  }\n  pcVar20 = "daemon.c";\n  (*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,\n               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\n  uStack_30 = 0x1c719;\n  pMVar1 = *(MHD_Daemon **)(pcVar20 + 0x18);\n  ppuStack_2c = &_GLOBAL_OFFSET_TABLE_;\n  if ((pMVar1->options & 0x2000) == MHD_NO_FLAG) {\n    puVar26 = &stack0xffffffb8;\n    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\nLAB_0001c7df:\n    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0xb06;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = puVar26 + -0x10;\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1c7fe;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    unaff_EBP = &pMVar1->cleanup_connection_mutex;\n    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);\n    puVar27 = auStack_38;\n    if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar27 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar27 + -8) = 0xb01;\n  *(char **)(puVar27 + -0xc) = "daemon.c";\n  *(void **)(puVar27 + -0x10) = mhd_panic_cls;\n  *(undefined4 *)(puVar27 + -0x14) = 0x1c81d;\n  (*mhd_panic)(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),\n               *(char **)(puVar27 + -4));\n  *(MHD_mutex_ **)(puVar27 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar27 + -0x18) = 0x1c826;\n  iVar12 = *(int *)(puVar27 + -0x18);\n  *(char **)(puVar27 + -0x18) = pcVar20;\n  *(MHD_Daemon **)(puVar27 + -0x1c) = pMVar1;\n  *(undefined ***)(puVar27 + -0x20) = &_GLOBAL_OFFSET_TABLE_;\n  *(undefined4 *)(puVar27 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  pMVar29 = *(MHD_Connection **)(puVar27 + -0xc);\n  pMVar1 = pMVar29->daemon;\n  *(MHD_Daemon **)(puVar27 + -0x37c) = pMVar1;\n  MVar2 = pMVar1->options;\n  *(MHD_FLAG *)(puVar27 + -0x378) = MVar2;\n  *(MHD_FLAG *)(puVar27 + -0x370) = MVar2 & MHD_USE_POLL;\n  *(undefined4 *)(puVar27 + -0x380) = 0x1c869;\n  pVar15 = pthread_self();\n  cVar23 = '\0';\n  *(undefined1 **)(puVar27 + -0x364) = puVar27 + -0x338;\n  (pMVar29->pid).ID = pVar15;\n  MVar19 = pMVar29->state;\n  while (*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') {\n    if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n    iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);\n    bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;\n    puVar27[-0x374] = bVar11;\n    if (bVar11 == 0) {\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar27 + -0x370) == 0) {\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }\nLAB_0001cd30:\n    MVar19 = pMVar29->state;\nLAB_0001ca80:\n    cVar23 = puVar27[-0x374];\n  }\n  if (MVar19 != MHD_CONNECTION_CLOSED) {\nLAB_0001cb5c:\n    *(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;\n    MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));\n  }\nLAB_0001cb7f:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cb8a;\n  MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\nLAB_0001cb8d:\n  if (pMVar29->response != (MHD_Response *)0x0) {\n    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;\n    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));\n    pMVar29->response = (MHD_Response *)0x0;\n  }\n  iVar18 = pMVar29->socket_fd;\n  if (iVar18 != -1) {\n    *(undefined4 *)(puVar27 + -0x388) = 1;\n    *(int *)(puVar27 + -0x38c) = iVar18;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));\n  }\n  iVar18 = *(int *)(puVar27 + -0x37c);\n  iVar21 = *(int *)(iVar18 + 0xdc);\n  if (iVar21 != -1) {\n    *(undefined4 *)(puVar27 + -900) = 8;\n    *(int *)(puVar27 + -0x388) = iVar12 + 0xffca;\n    *(int *)(puVar27 + -0x38c) = iVar21;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;\n    __stack_chk_fail_local();\n  }\n  return;\n  while( true ) {\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar7 = urh->in_buffer_size;\n    uVar8 = urh->out_buffer_size;\n    uVar9 = urh->in_buffer_used;\n    uVar10 = urh->out_buffer_used;\n    if (uVar7 == 0) {\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }\n    if (uVar10 == 0) {\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }\n    MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;\n    if (uVar9 == 0) {\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }\n    pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n    *(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);\n    *(undefined4 *)(puVar27 + -0x388) = 2;\n    *(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;\n    *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1d303;\n    iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900));\n    if (-1 < iVar18) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar27 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1d32a;\n  pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n  *(char **)(puVar27 + -900) = pcVar20;\n  *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n  *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1d33d;\n  MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\nLAB_0001ceb0:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cebb;\n  MHD_connection_finish_forward_(*(MHD_Connection **)(puVar27 + -0x38c));\n  pMVar29->urh->clean_ready = true;\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cecd;\n  MHD_resume_connection(*(MHD_Connection **)(puVar27 + -0x38c));\n  goto LAB_0001cbd2;\n}\n\n" comment comment comment comment comment comment (function_definition "void MHD_suspend_connection(MHD_Connection *connection)\n\n{\n  MHD_Daemon *pMVar1;\n  MHD_FLAG MVar2;\n  MHD_ConnectionEventLoopInfo MVar3;\n  MHD_socket MVar4;\n  code *pcVar5;\n  MHD_UpgradeResponseHandle *urh;\n  MHD_Connection *pMVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  byte bVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  pthread_t pVar15;\n  time_t tVar16;\n  int iVar17;\n  int iVar18;\n  MHD_CONNECTION_STATE MVar19;\n  char *pcVar20;\n  MHD_UpgradeResponseHandle *urh_00;\n  undefined1 write_ready;\n  int iVar21;\n  MHD_EpollState MVar22;\n  char cVar23;\n  undefined1 *puVar24;\n  ushort uVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  MHD_mutex_ *unaff_EBP;\n  undefined2 uVar28;\n  MHD_Connection *pMVar29;\n  int *piVar30;\n  undefined4 *puVar31;\n  undefined4 *puVar32;\n  int in_GS_OFFSET;\n  _Bool read_ready;\n  int aiStack_3f8 [5];\n  uint uStack_3e4;\n  MHD_RequestTerminationCode MStack_3e0;\n  size_t sStack_3dc;\n  uint uStack_3d8;\n  int aiStack_3d4 [2];\n  byte abStack_3cc [4];\n  MHD_FLAG MStack_3c8;\n  uint auStack_3c4 [14];\n  undefined4 uStack_38c;\n  MHD_socket MStack_108;\n  MHD_socket aMStack_104 [2];\n  ushort auStack_fc [58];\n  int aiStack_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((connection->daemon->options & 0x2000) != MHD_NO_FLAG) {\n    if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {\n      internal_suspend_connection_(connection);\n      return;\n    }\n    MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");\n    return;\n  }\n  pcVar20 = "daemon.c";\n  (*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,\n               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\n  uStack_30 = 0x1c719;\n  pMVar1 = *(MHD_Daemon **)(pcVar20 + 0x18);\n  ppuStack_2c = &_GLOBAL_OFFSET_TABLE_;\n  if ((pMVar1->options & 0x2000) == MHD_NO_FLAG) {\n    puVar26 = &stack0xffffffb8;\n    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\nLAB_0001c7df:\n    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0xb06;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = puVar26 + -0x10;\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1c7fe;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    unaff_EBP = &pMVar1->cleanup_connection_mutex;\n    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);\n    puVar27 = auStack_38;\n    if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar27 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar27 + -8) = 0xb01;\n  *(char **)(puVar27 + -0xc) = "daemon.c";\n  *(void **)(puVar27 + -0x10) = mhd_panic_cls;\n  *(undefined4 *)(puVar27 + -0x14) = 0x1c81d;\n  (*mhd_panic)(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),\n               *(char **)(puVar27 + -4));\n  *(MHD_mutex_ **)(puVar27 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar27 + -0x18) = 0x1c826;\n  iVar12 = *(int *)(puVar27 + -0x18);\n  *(char **)(puVar27 + -0x18) = pcVar20;\n  *(MHD_Daemon **)(puVar27 + -0x1c) = pMVar1;\n  *(undefined ***)(puVar27 + -0x20) = &_GLOBAL_OFFSET_TABLE_;\n  *(undefined4 *)(puVar27 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  pMVar29 = *(MHD_Connection **)(puVar27 + -0xc);\n  pMVar1 = pMVar29->daemon;\n  *(MHD_Daemon **)(puVar27 + -0x37c) = pMVar1;\n  MVar2 = pMVar1->options;\n  *(MHD_FLAG *)(puVar27 + -0x378) = MVar2;\n  *(MHD_FLAG *)(puVar27 + -0x370) = MVar2 & MHD_USE_POLL;\n  *(undefined4 *)(puVar27 + -0x380) = 0x1c869;\n  pVar15 = pthread_self();\n  cVar23 = '\0';\n  *(undefined1 **)(puVar27 + -0x364) = puVar27 + -0x338;\n  (pMVar29->pid).ID = pVar15;\n  MVar19 = pMVar29->state;\n  while (*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') {\n    if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n    iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);\n    bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;\n    puVar27[-0x374] = bVar11;\n    if (bVar11 == 0) {\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar27 + -0x370) == 0) {\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }\nLAB_0001cd30:\n    MVar19 = pMVar29->state;\nLAB_0001ca80:\n    cVar23 = puVar27[-0x374];\n  }\n  if (MVar19 != MHD_CONNECTION_CLOSED) {\nLAB_0001cb5c:\n    *(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;\n    MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));\n  }\nLAB_0001cb7f:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cb8a;\n  MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\nLAB_0001cb8d:\n  if (pMVar29->response != (MHD_Response *)0x0) {\n    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;\n    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));\n    pMVar29->response = (MHD_Response *)0x0;\n  }\n  iVar18 = pMVar29->socket_fd;\n  if (iVar18 != -1) {\n    *(undefined4 *)(puVar27 + -0x388) = 1;\n    *(int *)(puVar27 + -0x38c) = iVar18;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));\n  }\n  iVar18 = *(int *)(puVar27 + -0x37c);\n  iVar21 = *(int *)(iVar18 + 0xdc);\n  if (iVar21 != -1) {\n    *(undefined4 *)(puVar27 + -900) = 8;\n    *(int *)(puVar27 + -0x388) = iVar12 + 0xffca;\n    *(int *)(puVar27 + -0x38c) = iVar21;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;\n    __stack_chk_fail_local();\n  }\n  return;\n  while( true ) {\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar7 = urh->in_buffer_size;\n    uVar8 = urh->out_buffer_size;\n    uVar9 = urh->in_buffer_used;\n    uVar10 = urh->out_buffer_used;\n    if (uVar7 == 0) {\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }\n    if (uVar10 == 0) {\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }\n    MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;\n    if (uVar9 == 0) {\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }\n    pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n    *(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);\n    *(undefined4 *)(puVar27 + -0x388) = 2;\n    *(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;\n    *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1d303;\n    iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900));\n    if (-1 < iVar18) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar27 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1d32a;\n  pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n  *(char **)(puVar27 + -900) = pcVar20;\n  *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n  *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1d33d;\n  MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\nLAB_0001ceb0:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cebb;\n  MHD_connection_finish_forward_(*(MHD_Connection **)(puVar27 + -0x38c));\n  pMVar29->urh->clean_ready = true;\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cecd;\n  MHD_resume_connection(*(MHD_Connection **)(puVar27 + -0x38c));\n  goto LAB_0001cbd2;\n}" primitive_type (function_declarator "MHD_suspend_connection(MHD_Connection *connection)" identifier (parameter_list "(MHD_Connection *connection)" ( (parameter_declaration "MHD_Connection *connection" type_identifier (pointer_declarator "*connection" * identifier)) ))) (compound_statement "{\n  MHD_Daemon *pMVar1;\n  MHD_FLAG MVar2;\n  MHD_ConnectionEventLoopInfo MVar3;\n  MHD_socket MVar4;\n  code *pcVar5;\n  MHD_UpgradeResponseHandle *urh;\n  MHD_Connection *pMVar6;\n  uint uVar7;\n  uint uVar8;\n  uint uVar9;\n  uint uVar10;\n  byte bVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  pthread_t pVar15;\n  time_t tVar16;\n  int iVar17;\n  int iVar18;\n  MHD_CONNECTION_STATE MVar19;\n  char *pcVar20;\n  MHD_UpgradeResponseHandle *urh_00;\n  undefined1 write_ready;\n  int iVar21;\n  MHD_EpollState MVar22;\n  char cVar23;\n  undefined1 *puVar24;\n  ushort uVar25;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  MHD_mutex_ *unaff_EBP;\n  undefined2 uVar28;\n  MHD_Connection *pMVar29;\n  int *piVar30;\n  undefined4 *puVar31;\n  undefined4 *puVar32;\n  int in_GS_OFFSET;\n  _Bool read_ready;\n  int aiStack_3f8 [5];\n  uint uStack_3e4;\n  MHD_RequestTerminationCode MStack_3e0;\n  size_t sStack_3dc;\n  uint uStack_3d8;\n  int aiStack_3d4 [2];\n  byte abStack_3cc [4];\n  MHD_FLAG MStack_3c8;\n  uint auStack_3c4 [14];\n  undefined4 uStack_38c;\n  MHD_socket MStack_108;\n  MHD_socket aMStack_104 [2];\n  ushort auStack_fc [58];\n  int aiStack_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((connection->daemon->options & 0x2000) != MHD_NO_FLAG) {\n    if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {\n      internal_suspend_connection_(connection);\n      return;\n    }\n    MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");\n    return;\n  }\n  pcVar20 = "daemon.c";\n  (*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,\n               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\n  uStack_30 = 0x1c719;\n  pMVar1 = *(MHD_Daemon **)(pcVar20 + 0x18);\n  ppuStack_2c = &_GLOBAL_OFFSET_TABLE_;\n  if ((pMVar1->options & 0x2000) == MHD_NO_FLAG) {\n    puVar26 = &stack0xffffffb8;\n    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\nLAB_0001c7df:\n    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0xb06;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = puVar26 + -0x10;\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1c7fe;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    unaff_EBP = &pMVar1->cleanup_connection_mutex;\n    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);\n    puVar27 = auStack_38;\n    if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar27 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar27 + -8) = 0xb01;\n  *(char **)(puVar27 + -0xc) = "daemon.c";\n  *(void **)(puVar27 + -0x10) = mhd_panic_cls;\n  *(undefined4 *)(puVar27 + -0x14) = 0x1c81d;\n  (*mhd_panic)(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),\n               *(char **)(puVar27 + -4));\n  *(MHD_mutex_ **)(puVar27 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar27 + -0x18) = 0x1c826;\n  iVar12 = *(int *)(puVar27 + -0x18);\n  *(char **)(puVar27 + -0x18) = pcVar20;\n  *(MHD_Daemon **)(puVar27 + -0x1c) = pMVar1;\n  *(undefined ***)(puVar27 + -0x20) = &_GLOBAL_OFFSET_TABLE_;\n  *(undefined4 *)(puVar27 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  pMVar29 = *(MHD_Connection **)(puVar27 + -0xc);\n  pMVar1 = pMVar29->daemon;\n  *(MHD_Daemon **)(puVar27 + -0x37c) = pMVar1;\n  MVar2 = pMVar1->options;\n  *(MHD_FLAG *)(puVar27 + -0x378) = MVar2;\n  *(MHD_FLAG *)(puVar27 + -0x370) = MVar2 & MHD_USE_POLL;\n  *(undefined4 *)(puVar27 + -0x380) = 0x1c869;\n  pVar15 = pthread_self();\n  cVar23 = '\0';\n  *(undefined1 **)(puVar27 + -0x364) = puVar27 + -0x338;\n  (pMVar29->pid).ID = pVar15;\n  MVar19 = pMVar29->state;\n  while (*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') {\n    if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n    iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);\n    bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;\n    puVar27[-0x374] = bVar11;\n    if (bVar11 == 0) {\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar27 + -0x370) == 0) {\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }\nLAB_0001cd30:\n    MVar19 = pMVar29->state;\nLAB_0001ca80:\n    cVar23 = puVar27[-0x374];\n  }\n  if (MVar19 != MHD_CONNECTION_CLOSED) {\nLAB_0001cb5c:\n    *(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;\n    MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));\n  }\nLAB_0001cb7f:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cb8a;\n  MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\nLAB_0001cb8d:\n  if (pMVar29->response != (MHD_Response *)0x0) {\n    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;\n    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));\n    pMVar29->response = (MHD_Response *)0x0;\n  }\n  iVar18 = pMVar29->socket_fd;\n  if (iVar18 != -1) {\n    *(undefined4 *)(puVar27 + -0x388) = 1;\n    *(int *)(puVar27 + -0x38c) = iVar18;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));\n  }\n  iVar18 = *(int *)(puVar27 + -0x37c);\n  iVar21 = *(int *)(iVar18 + 0xdc);\n  if (iVar21 != -1) {\n    *(undefined4 *)(puVar27 + -900) = 8;\n    *(int *)(puVar27 + -0x388) = iVar12 + 0xffca;\n    *(int *)(puVar27 + -0x38c) = iVar21;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;\n    __stack_chk_fail_local();\n  }\n  return;\n  while( true ) {\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar7 = urh->in_buffer_size;\n    uVar8 = urh->out_buffer_size;\n    uVar9 = urh->in_buffer_used;\n    uVar10 = urh->out_buffer_used;\n    if (uVar7 == 0) {\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }\n    if (uVar10 == 0) {\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }\n    MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;\n    if (uVar9 == 0) {\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }\n    pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n    *(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);\n    *(undefined4 *)(puVar27 + -0x388) = 2;\n    *(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;\n    *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1d303;\n    iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900));\n    if (-1 < iVar18) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar27 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1d32a;\n  pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n  *(char **)(puVar27 + -900) = pcVar20;\n  *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n  *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1d33d;\n  MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\nLAB_0001ceb0:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cebb;\n  MHD_connection_finish_forward_(*(MHD_Connection **)(puVar27 + -0x38c));\n  pMVar29->urh->clean_ready = true;\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n  *(undefined4 *)(puVar27 + -0x390) = 0x1cecd;\n  MHD_resume_connection(*(MHD_Connection **)(puVar27 + -0x38c));\n  goto LAB_0001cbd2;\n}" { (declaration "MHD_Daemon *pMVar1;" type_identifier (pointer_declarator "*pMVar1" * identifier) ;) (declaration "MHD_FLAG MVar2;" type_identifier identifier ;) (declaration "MHD_ConnectionEventLoopInfo MVar3;" type_identifier identifier ;) (declaration "MHD_socket MVar4;" type_identifier identifier ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "MHD_UpgradeResponseHandle *urh;" type_identifier (pointer_declarator "*urh" * identifier) ;) (declaration "MHD_Connection *pMVar6;" type_identifier (pointer_declarator "*pMVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "byte bVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "pthread_t pVar15;" type_identifier identifier ;) (declaration "time_t tVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "MHD_CONNECTION_STATE MVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "MHD_UpgradeResponseHandle *urh_00;" type_identifier (pointer_declarator "*urh_00" * identifier) ;) (declaration "undefined1 write_ready;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "MHD_EpollState MVar22;" type_identifier identifier ;) (declaration "char cVar23;" primitive_type identifier ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "ushort uVar25;" type_identifier identifier ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "MHD_mutex_ *unaff_EBP;" type_identifier (pointer_declarator "*unaff_EBP" * identifier) ;) (declaration "undefined2 uVar28;" type_identifier identifier ;) (declaration "MHD_Connection *pMVar29;" type_identifier (pointer_declarator "*pMVar29" * identifier) ;) (declaration "int *piVar30;" primitive_type (pointer_declarator "*piVar30" * identifier) ;) (declaration "undefined4 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "_Bool read_ready;" type_identifier identifier ;) (declaration "int aiStack_3f8 [5];" primitive_type (array_declarator "aiStack_3f8 [5]" identifier [ number_literal ]) ;) (declaration "uint uStack_3e4;" type_identifier identifier ;) (declaration "MHD_RequestTerminationCode MStack_3e0;" type_identifier identifier ;) (declaration "size_t sStack_3dc;" primitive_type identifier ;) (declaration "uint uStack_3d8;" type_identifier identifier ;) (declaration "int aiStack_3d4 [2];" primitive_type (array_declarator "aiStack_3d4 [2]" identifier [ number_literal ]) ;) (declaration "byte abStack_3cc [4];" type_identifier (array_declarator "abStack_3cc [4]" identifier [ number_literal ]) ;) (declaration "MHD_FLAG MStack_3c8;" type_identifier identifier ;) (declaration "uint auStack_3c4 [14];" type_identifier (array_declarator "auStack_3c4 [14]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_38c;" type_identifier identifier ;) (declaration "MHD_socket MStack_108;" type_identifier identifier ;) (declaration "MHD_socket aMStack_104 [2];" type_identifier (array_declarator "aMStack_104 [2]" identifier [ number_literal ]) ;) (declaration "ushort auStack_fc [58];" type_identifier (array_declarator "auStack_fc [58]" identifier [ number_literal ]) ;) (declaration "int aiStack_88 [16];" primitive_type (array_declarator "aiStack_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_38 [8];" type_identifier (array_declarator "auStack_38 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_30;" type_identifier identifier ;) (declaration "undefined **ppuStack_2c;" type_identifier (pointer_declarator "**ppuStack_2c" * (pointer_declarator "*ppuStack_2c" * identifier)) ;) (if_statement "if ((connection->daemon->options & 0x2000) != MHD_NO_FLAG) {\n    if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {\n      internal_suspend_connection_(connection);\n      return;\n    }\n    MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");\n    return;\n  }" if (parenthesized_expression "((connection->daemon->options & 0x2000) != MHD_NO_FLAG)" ( (binary_expression "(connection->daemon->options & 0x2000) != MHD_NO_FLAG" (parenthesized_expression "(connection->daemon->options & 0x2000)" ( (binary_expression "connection->daemon->options & 0x2000" (field_expression "connection->daemon->options" (field_expression "connection->daemon" identifier -> field_identifier) -> field_identifier) & number_literal) )) != identifier) )) (compound_statement "{\n    if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {\n      internal_suspend_connection_(connection);\n      return;\n    }\n    MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");\n    return;\n  }" { (if_statement "if (connection->urh == (MHD_UpgradeResponseHandle *)0x0) {\n      internal_suspend_connection_(connection);\n      return;\n    }" if (parenthesized_expression "(connection->urh == (MHD_UpgradeResponseHandle *)0x0)" ( (binary_expression "connection->urh == (MHD_UpgradeResponseHandle *)0x0" (field_expression "connection->urh" identifier -> field_identifier) == (cast_expression "(MHD_UpgradeResponseHandle *)0x0" ( (type_descriptor "MHD_UpgradeResponseHandle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      internal_suspend_connection_(connection);\n      return;\n    }" { (expression_statement "internal_suspend_connection_(connection);" (call_expression "internal_suspend_connection_(connection)" identifier (argument_list "(connection)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");" (call_expression "MHD_DLOG(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended")" identifier (argument_list "(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended")" ( (field_expression "connection->daemon" identifier -> field_identifier) , (string_literal ""Error: connection scheduled for \"upgrade\" cannot be suspended"" " string_content escape_sequence string_content escape_sequence string_content ") ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar20 = "daemon.c";" (assignment_expression "pcVar20 = "daemon.c"" identifier = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "(*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,\n               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");" (call_expression "(*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,\n               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n")" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(mhd_panic_cls,"daemon.c",0xae2,\n               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n")" ( identifier , (string_literal ""daemon.c"" " string_content ") , number_literal , (string_literal ""Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n"" " string_content escape_sequence ") ))) ;) (expression_statement "uStack_30 = 0x1c719;" (assignment_expression "uStack_30 = 0x1c719" identifier = number_literal) ;) (expression_statement "pMVar1 = *(MHD_Daemon **)(pcVar20 + 0x18);" (assignment_expression "pMVar1 = *(MHD_Daemon **)(pcVar20 + 0x18)" identifier = (pointer_expression "*(MHD_Daemon **)(pcVar20 + 0x18)" * (cast_expression "(MHD_Daemon **)(pcVar20 + 0x18)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x18)" ( (binary_expression "pcVar20 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "ppuStack_2c = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "ppuStack_2c = &_GLOBAL_OFFSET_TABLE_" identifier = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (if_statement "if ((pMVar1->options & 0x2000) == MHD_NO_FLAG) {\n    puVar26 = &stack0xffffffb8;\n    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\nLAB_0001c7df:\n    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0xb06;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = puVar26 + -0x10;\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1c7fe;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }\n  else {\n    unaff_EBP = &pMVar1->cleanup_connection_mutex;\n    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);\n    puVar27 = auStack_38;\n    if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }\n  }" if (parenthesized_expression "((pMVar1->options & 0x2000) == MHD_NO_FLAG)" ( (binary_expression "(pMVar1->options & 0x2000) == MHD_NO_FLAG" (parenthesized_expression "(pMVar1->options & 0x2000)" ( (binary_expression "pMVar1->options & 0x2000" (field_expression "pMVar1->options" identifier -> field_identifier) & number_literal) )) == identifier) )) (compound_statement "{\n    puVar26 = &stack0xffffffb8;\n    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");\nLAB_0001c7df:\n    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar26 + -8) = 0xb06;\n    *(char **)(puVar26 + -0xc) = "daemon.c";\n    puVar27 = puVar26 + -0x10;\n    *(void **)(puVar26 + -0x10) = mhd_panic_cls;\n    *(undefined4 *)(puVar26 + -0x14) = 0x1c7fe;\n    (*mhd_panic)(*(void **)(puVar26 + -0x10),*(char **)(puVar26 + -0xc),*(uint *)(puVar26 + -8),\n                 *(char **)(puVar26 + -4));\n  }" { (expression_statement "puVar26 = &stack0xffffffb8;" (assignment_expression "puVar26 = &stack0xffffffb8" identifier = (pointer_expression "&stack0xffffffb8" & identifier)) ;) (expression_statement "(*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");" (call_expression "(*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n")" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(mhd_panic_cls,"daemon.c",0xaff,\n                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n")" ( identifier , (string_literal ""daemon.c"" " string_content ") , number_literal , (string_literal ""Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n"" " string_content escape_sequence ") ))) ;) (labeled_statement "LAB_0001c7df:\n    *(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";" statement_identifier : (expression_statement "*(char **)(puVar26 + -4) = "Failed to unlock mutex.\n";" (assignment_expression "*(char **)(puVar26 + -4) = "Failed to unlock 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 unlock mutex.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar26 + -8) = 0xb06;" (assignment_expression "*(undefined4 *)(puVar26 + -8) = 0xb06" (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 = puVar26 + -0x10;" (assignment_expression "puVar27 = puVar26 + -0x10" identifier = (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) = 0x1c7fe;" (assignment_expression "*(undefined4 *)(puVar26 + -0x14) = 0x1c7fe" (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    unaff_EBP = &pMVar1->cleanup_connection_mutex;\n    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);\n    puVar27 = auStack_38;\n    if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }\n  }" else (compound_statement "{\n    unaff_EBP = &pMVar1->cleanup_connection_mutex;\n    iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);\n    puVar27 = auStack_38;\n    if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }\n  }" { (expression_statement "unaff_EBP = &pMVar1->cleanup_connection_mutex;" (assignment_expression "unaff_EBP = &pMVar1->cleanup_connection_mutex" identifier = (pointer_expression "&pMVar1->cleanup_connection_mutex" & (field_expression "pMVar1->cleanup_connection_mutex" identifier -> field_identifier))) ;) (expression_statement "iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP);" (assignment_expression "iVar12 = pthread_mutex_lock((pthread_mutex_t *)unaff_EBP)" identifier = (call_expression "pthread_mutex_lock((pthread_mutex_t *)unaff_EBP)" identifier (argument_list "((pthread_mutex_t *)unaff_EBP)" ( (cast_expression "(pthread_mutex_t *)unaff_EBP" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar27 = auStack_38;" (assignment_expression "puVar27 = auStack_38" identifier = identifier) ;) (if_statement "if (iVar12 == 0) {\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar20[0xf8] = '\x01';\n      pMVar1->resuming = true;\n      iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);\n      puVar26 = auStack_38;\n      if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }\n      goto LAB_0001c7df;\n    }" { (expression_statement "pcVar20[0xf8] = '\x01';" (assignment_expression "pcVar20[0xf8] = '\x01'" (subscript_expression "pcVar20[0xf8]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "pMVar1->resuming = true;" (assignment_expression "pMVar1->resuming = true" (field_expression "pMVar1->resuming" identifier -> field_identifier) = true) ;) (expression_statement "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP);" (assignment_expression "iVar12 = pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP)" identifier = (call_expression "pthread_mutex_unlock((pthread_mutex_t *)unaff_EBP)" identifier (argument_list "((pthread_mutex_t *)unaff_EBP)" ( (cast_expression "(pthread_mutex_t *)unaff_EBP" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;) (expression_statement "puVar26 = auStack_38;" (assignment_expression "puVar26 = auStack_38" identifier = identifier) ;) (if_statement "if (iVar12 == 0) {\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        iVar12 = (pMVar1->itc).fd;\n        if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }\n        return;\n      }" { (expression_statement "iVar12 = (pMVar1->itc).fd;" (assignment_expression "iVar12 = (pMVar1->itc).fd" identifier = (field_expression "(pMVar1->itc).fd" (parenthesized_expression "(pMVar1->itc)" ( (field_expression "pMVar1->itc" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)) {\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }" if (parenthesized_expression "(((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb))" ( (binary_expression "((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)) &&\n           (piVar14 = __errno_location(), *piVar14 != 0xb)" (parenthesized_expression "((iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1))" ( (binary_expression "(iVar12 != -1) && (sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)" (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) && (parenthesized_expression "(sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1)" ( (comma_expression "sVar13 = write(iVar12,&_MHD_itc_wr_data,8), sVar13 < 1" (assignment_expression "sVar13 = write(iVar12,&_MHD_itc_wr_data,8)" identifier = (call_expression "write(iVar12,&_MHD_itc_wr_data,8)" identifier (argument_list "(iVar12,&_MHD_itc_wr_data,8)" ( identifier , (pointer_expression "&_MHD_itc_wr_data" & identifier) , number_literal )))) , (binary_expression "sVar13 < 1" identifier < number_literal)) ))) )) && (parenthesized_expression "(piVar14 = __errno_location(), *piVar14 != 0xb)" ( (comma_expression "piVar14 = __errno_location(), *piVar14 != 0xb" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) , (binary_expression "*piVar14 != 0xb" (pointer_expression "*piVar14" * identifier) != number_literal)) ))) )) (compound_statement "{\n          MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");\n        }" { (expression_statement "MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.");" (call_expression "MHD_DLOG(pMVar1,"Failed to signal resume via inter-thread communication channel.")" identifier (argument_list "(pMVar1,"Failed to signal resume via inter-thread communication channel.")" ( identifier , (string_literal ""Failed to signal resume via inter-thread communication channel."" " string_content ") ))) ;) })) (return_statement "return;" return ;) })) (goto_statement "goto LAB_0001c7df;" goto statement_identifier ;) })) }))) (expression_statement "*(char **)(puVar27 + -4) = "Failed to lock mutex.\n";" (assignment_expression "*(char **)(puVar27 + -4) = "Failed to lock mutex.\n"" (pointer_expression "*(char **)(puVar27 + -4)" * (cast_expression "(char **)(puVar27 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -4)" ( (binary_expression "puVar27 + -4" identifier + number_literal) )))) = (string_literal ""Failed to lock mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar27 + -8) = 0xb01;" (assignment_expression "*(undefined4 *)(puVar27 + -8) = 0xb01" (pointer_expression "*(undefined4 *)(puVar27 + -8)" * (cast_expression "(undefined4 *)(puVar27 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -8)" ( (binary_expression "puVar27 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar27 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar27 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar27 + -0xc)" * (cast_expression "(char **)(puVar27 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0xc)" ( (binary_expression "puVar27 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "*(void **)(puVar27 + -0x10) = mhd_panic_cls;" (assignment_expression "*(void **)(puVar27 + -0x10) = mhd_panic_cls" (pointer_expression "*(void **)(puVar27 + -0x10)" * (cast_expression "(void **)(puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x10)" ( (binary_expression "puVar27 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x14) = 0x1c81d;" (assignment_expression "*(undefined4 *)(puVar27 + -0x14) = 0x1c81d" (pointer_expression "*(undefined4 *)(puVar27 + -0x14)" * (cast_expression "(undefined4 *)(puVar27 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x14)" ( (binary_expression "puVar27 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*mhd_panic)(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),\n               *(char **)(puVar27 + -4));" (call_expression "(*mhd_panic)(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),\n               *(char **)(puVar27 + -4))" (parenthesized_expression "(*mhd_panic)" ( (pointer_expression "*mhd_panic" * identifier) )) (argument_list "(*(void **)(puVar27 + -0x10),*(char **)(puVar27 + -0xc),*(uint *)(puVar27 + -8),\n               *(char **)(puVar27 + -4))" ( (pointer_expression "*(void **)(puVar27 + -0x10)" * (cast_expression "(void **)(puVar27 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x10)" ( (binary_expression "puVar27 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0xc)" * (cast_expression "(char **)(puVar27 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0xc)" ( (binary_expression "puVar27 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -8)" * (cast_expression "(uint *)(puVar27 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -8)" ( (binary_expression "puVar27 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -4)" * (cast_expression "(char **)(puVar27 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -4)" ( (binary_expression "puVar27 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "*(MHD_mutex_ **)(puVar27 + -0x14) = unaff_EBP;" (assignment_expression "*(MHD_mutex_ **)(puVar27 + -0x14) = unaff_EBP" (pointer_expression "*(MHD_mutex_ **)(puVar27 + -0x14)" * (cast_expression "(MHD_mutex_ **)(puVar27 + -0x14)" ( (type_descriptor "MHD_mutex_ **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x14)" ( (binary_expression "puVar27 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x18) = 0x1c826;" (assignment_expression "*(undefined4 *)(puVar27 + -0x18) = 0x1c826" (pointer_expression "*(undefined4 *)(puVar27 + -0x18)" * (cast_expression "(undefined4 *)(puVar27 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x18)" ( (binary_expression "puVar27 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *(int *)(puVar27 + -0x18);" (assignment_expression "iVar12 = *(int *)(puVar27 + -0x18)" identifier = (pointer_expression "*(int *)(puVar27 + -0x18)" * (cast_expression "(int *)(puVar27 + -0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x18)" ( (binary_expression "puVar27 + -0x18" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar27 + -0x18) = pcVar20;" (assignment_expression "*(char **)(puVar27 + -0x18) = pcVar20" (pointer_expression "*(char **)(puVar27 + -0x18)" * (cast_expression "(char **)(puVar27 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x18)" ( (binary_expression "puVar27 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x1c) = pMVar1;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x1c) = pMVar1" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x1c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x1c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x1c)" ( (binary_expression "puVar27 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar27 + -0x20) = &_GLOBAL_OFFSET_TABLE_;" (assignment_expression "*(undefined ***)(puVar27 + -0x20) = &_GLOBAL_OFFSET_TABLE_" (pointer_expression "*(undefined ***)(puVar27 + -0x20)" * (cast_expression "(undefined ***)(puVar27 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar27 + -0x20)" ( (binary_expression "puVar27 + -0x20" identifier + number_literal) )))) = (pointer_expression "&_GLOBAL_OFFSET_TABLE_" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar27 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar27 + -0x30)" * (cast_expression "(undefined4 *)(puVar27 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x30)" ( (binary_expression "puVar27 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "pMVar29 = *(MHD_Connection **)(puVar27 + -0xc);" (assignment_expression "pMVar29 = *(MHD_Connection **)(puVar27 + -0xc)" identifier = (pointer_expression "*(MHD_Connection **)(puVar27 + -0xc)" * (cast_expression "(MHD_Connection **)(puVar27 + -0xc)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0xc)" ( (binary_expression "puVar27 + -0xc" identifier + number_literal) ))))) ;) (expression_statement "pMVar1 = pMVar29->daemon;" (assignment_expression "pMVar1 = pMVar29->daemon" identifier = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x37c) = pMVar1;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x37c) = pMVar1" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x37c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x37c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = identifier) ;) (expression_statement "MVar2 = pMVar1->options;" (assignment_expression "MVar2 = pMVar1->options" identifier = (field_expression "pMVar1->options" identifier -> field_identifier)) ;) (expression_statement "*(MHD_FLAG *)(puVar27 + -0x378) = MVar2;" (assignment_expression "*(MHD_FLAG *)(puVar27 + -0x378) = MVar2" (pointer_expression "*(MHD_FLAG *)(puVar27 + -0x378)" * (cast_expression "(MHD_FLAG *)(puVar27 + -0x378)" ( (type_descriptor "MHD_FLAG *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_FLAG *)(puVar27 + -0x370) = MVar2 & MHD_USE_POLL;" (assignment_expression "*(MHD_FLAG *)(puVar27 + -0x370) = MVar2 & MHD_USE_POLL" (pointer_expression "*(MHD_FLAG *)(puVar27 + -0x370)" * (cast_expression "(MHD_FLAG *)(puVar27 + -0x370)" ( (type_descriptor "MHD_FLAG *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x370)" ( (binary_expression "puVar27 + -0x370" identifier + number_literal) )))) = (binary_expression "MVar2 & MHD_USE_POLL" identifier & identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1c869;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1c869" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pVar15 = pthread_self();" (assignment_expression "pVar15 = pthread_self()" identifier = (call_expression "pthread_self()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar23 = '\0';" (assignment_expression "cVar23 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(undefined1 **)(puVar27 + -0x364) = puVar27 + -0x338;" (assignment_expression "*(undefined1 **)(puVar27 + -0x364) = puVar27 + -0x338" (pointer_expression "*(undefined1 **)(puVar27 + -0x364)" * (cast_expression "(undefined1 **)(puVar27 + -0x364)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x364)" ( (binary_expression "puVar27 + -0x364" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x338" identifier + number_literal)) ;) (expression_statement "(pMVar29->pid).ID = pVar15;" (assignment_expression "(pMVar29->pid).ID = pVar15" (field_expression "(pMVar29->pid).ID" (parenthesized_expression "(pMVar29->pid)" ( (field_expression "pMVar29->pid" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "MVar19 = pMVar29->state;" (assignment_expression "MVar19 = pMVar29->state" identifier = (field_expression "pMVar29->state" identifier -> field_identifier)) ;) (while_statement "while (*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') {\n    if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n    iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);\n    bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;\n    puVar27[-0x374] = bVar11;\n    if (bVar11 == 0) {\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar27 + -0x370) == 0) {\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }\nLAB_0001cd30:\n    MVar19 = pMVar29->state;\nLAB_0001ca80:\n    cVar23 = puVar27[-0x374];\n  }" while (parenthesized_expression "(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0)" * (cast_expression "(char *)(*(int *)(puVar27 + -0x37c) + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xe0)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n    iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);\n    bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;\n    puVar27[-0x374] = bVar11;\n    if (bVar11 == 0) {\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar27 + -0x370) == 0) {\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }\nLAB_0001cd30:\n    MVar19 = pMVar29->state;\nLAB_0001ca80:\n    cVar23 = puVar27[-0x374];\n  }" { (if_statement "if (MVar19 == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;" if (parenthesized_expression "(MVar19 == MHD_CONNECTION_CLOSED)" ( (binary_expression "MVar19 == MHD_CONNECTION_CLOSED" identifier == identifier) )) (goto_statement "goto LAB_0001cb7f;" goto statement_identifier ;)) (expression_statement "iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0);" (assignment_expression "iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xf0)" identifier = (pointer_expression "*(int *)(*(int *)(puVar27 + -0x37c) + 0xf0)" * (cast_expression "(int *)(*(int *)(puVar27 + -0x37c) + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xf0)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xf0" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended;" (assignment_expression "bVar11 = pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended" identifier = (binary_expression "pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0 & pMVar29->suspended" (binary_expression "pMVar29->urh == (MHD_UpgradeResponseHandle *)0x0" (field_expression "pMVar29->urh" identifier -> field_identifier) == (cast_expression "(MHD_UpgradeResponseHandle *)0x0" ( (type_descriptor "MHD_UpgradeResponseHandle *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) & (field_expression "pMVar29->suspended" identifier -> field_identifier))) ;) (expression_statement "puVar27[-0x374] = bVar11;" (assignment_expression "puVar27[-0x374] = bVar11" (subscript_expression "puVar27[-0x374]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (bVar11 == 0) {\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }" if (parenthesized_expression "(bVar11 == 0)" ( (binary_expression "bVar11 == 0" identifier == number_literal) )) (compound_statement "{\n      if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }\n      if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ca66;\n      iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);\n      if (iVar18 == 0) goto LAB_0001cb8d;\n      MVar19 = pMVar29->state;\n      if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;\n      pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);\n      if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }\n      urh = pMVar29->urh;\n      pMVar29->client_aware = false;\n      MVar2 = pMVar29->daemon->options;\n      if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar27 + -0xb0) = 0;\n      *(undefined4 *)(puVar27 + -0xa8) = 0;\n      *(undefined4 *)(puVar27 + -0xac) = 0;\n      *(undefined4 *)(puVar27 + -0xa4) = 0;\n      pMVar6 = urh->connection;\n      *(MHD_Connection **)(puVar27 + -0x378) = pMVar29;\n      *(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;\n      *(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;\n      goto LAB_0001d229;\n    }" { (if_statement "if (cVar23 != '\0') {\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }" if (parenthesized_expression "(cVar23 != '\0')" ( (binary_expression "cVar23 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc03;\n        MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));\n        *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;\n        MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));\n      }" { (expression_statement "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cc03;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cc03" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c));" (call_expression "MHD_update_last_activity_(*(MHD_Connection **)(puVar27 + -0x38c))" identifier (argument_list "(*(MHD_Connection **)(puVar27 + -0x38c))" ( (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) (expression_statement "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cc0b;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cc0b" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));" (call_expression "MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c))" identifier (argument_list "(*(MHD_Connection **)(puVar27 + -0x38c))" ( (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) })) (if_statement "if ((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))) {\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }" if (parenthesized_expression "((pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ))))" ( (binary_expression "(pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK) ||\n         ((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))" (parenthesized_expression "(pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK)" ( (binary_expression "pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_BLOCK" (field_expression "pMVar29->event_loop_info" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "((pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)))" ( (parenthesized_expression "(pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ))" ( (binary_expression "pMVar29->tls_read_ready != false &&\n          (pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)" (binary_expression "pMVar29->tls_read_ready != false" (field_expression "pMVar29->tls_read_ready" identifier -> field_identifier) != false) && (parenthesized_expression "(pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ)" ( (binary_expression "pMVar29->event_loop_info == MHD_EVENT_LOOP_INFO_READ" (field_expression "pMVar29->event_loop_info" identifier -> field_identifier) == identifier) ))) )) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar27 + -0x34c) = 0;\n        *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        iVar18 = *(int *)(puVar27 + -0x370);\n        *(undefined4 *)(puVar27 + -0x348) = 0;\n        if (iVar18 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x334) = 0;\n        *(MHD_socket *)(puVar27 + -0x338) = MVar4;\n        MVar3 = pMVar29->event_loop_info;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n        iVar18 = -1;\n        if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }\n        *(int *)(puVar27 + -900) = iVar18;\n        *(undefined4 *)(puVar27 + -0x388) = 1;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb15;\n        iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));\n        if (iVar18 < 0) goto LAB_0001cb20;\n        uVar25 = *(ushort *)(puVar27 + -0x332);\n        read_ready = (_Bool)((byte)uVar25 & 1);\n        write_ready = (byte)(uVar25 >> 2) & 1;\n        *(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);\n      }" { (expression_statement "*(undefined4 *)(puVar27 + -0x34c) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x34c) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x34c)" * (cast_expression "(undefined4 *)(puVar27 + -0x34c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x34c)" ( (binary_expression "puVar27 + -0x34c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c" (pointer_expression "*(undefined1 **)(puVar27 + -0x378)" * (cast_expression "(undefined1 **)(puVar27 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x34c" identifier + number_literal)) ;) (expression_statement "iVar18 = *(int *)(puVar27 + -0x370);" (assignment_expression "iVar18 = *(int *)(puVar27 + -0x370)" identifier = (pointer_expression "*(int *)(puVar27 + -0x370)" * (cast_expression "(int *)(puVar27 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x370)" ( (binary_expression "puVar27 + -0x370" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x348)" * (cast_expression "(undefined4 *)(puVar27 + -0x348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x348)" ( (binary_expression "puVar27 + -0x348" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar18 == 0) goto LAB_0001c927;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c927;" goto statement_identifier ;)) (labeled_statement "LAB_0001cab4:\n        MVar4 = pMVar29->socket_fd;" statement_identifier : (expression_statement "MVar4 = pMVar29->socket_fd;" (assignment_expression "MVar4 = pMVar29->socket_fd" identifier = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;)) (expression_statement "*(undefined4 *)(puVar27 + -0x334) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x334) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x334)" * (cast_expression "(undefined4 *)(puVar27 + -0x334)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x334)" ( (binary_expression "puVar27 + -0x334" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(MHD_socket *)(puVar27 + -0x338) = MVar4;" (assignment_expression "*(MHD_socket *)(puVar27 + -0x338) = MVar4" (pointer_expression "*(MHD_socket *)(puVar27 + -0x338)" * (cast_expression "(MHD_socket *)(puVar27 + -0x338)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x338)" ( (binary_expression "puVar27 + -0x338" identifier + number_literal) )))) = identifier) ;) (expression_statement "MVar3 = pMVar29->event_loop_info;" (assignment_expression "MVar3 = pMVar29->event_loop_info" identifier = (field_expression "pMVar29->event_loop_info" identifier -> field_identifier)) ;) (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_WRITE)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_WRITE" identifier == identifier) )) (compound_statement "{\n          *(undefined2 *)(puVar27 + -0x334) = 6;\n        }" { (expression_statement "*(undefined2 *)(puVar27 + -0x334) = 6;" (assignment_expression "*(undefined2 *)(puVar27 + -0x334) = 6" (pointer_expression "*(undefined2 *)(puVar27 + -0x334)" * (cast_expression "(undefined2 *)(puVar27 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x334)" ( (binary_expression "puVar27 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" else (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_READ)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_READ" identifier == identifier) )) (compound_statement "{\n          *(undefined2 *)(puVar27 + -0x334) = 3;\n        }" { (expression_statement "*(undefined2 *)(puVar27 + -0x334) = 3;" (assignment_expression "*(undefined2 *)(puVar27 + -0x334) = 3" (pointer_expression "*(undefined2 *)(puVar27 + -0x334)" * (cast_expression "(undefined2 *)(puVar27 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x334)" ( (binary_expression "puVar27 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" else (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }\n        else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_BLOCK)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_BLOCK" identifier == identifier) )) (compound_statement "{\n          *(undefined2 *)(puVar27 + -0x334) = 2;\n        }" { (expression_statement "*(undefined2 *)(puVar27 + -0x334) = 2;" (assignment_expression "*(undefined2 *)(puVar27 + -0x334) = 2" (pointer_expression "*(undefined2 *)(puVar27 + -0x334)" * (cast_expression "(undefined2 *)(puVar27 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x334)" ( (binary_expression "puVar27 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" else (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP" identifier == identifier) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)))))))) (expression_statement "iVar18 = -1;" (assignment_expression "iVar18 = -1" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar27 + -0x378) != 0) {\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }" if (parenthesized_expression "(*(int *)(puVar27 + -0x378) != 0)" ( (binary_expression "*(int *)(puVar27 + -0x378) != 0" (pointer_expression "*(int *)(puVar27 + -0x378)" * (cast_expression "(int *)(puVar27 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar18 = *(int *)(puVar27 + -0x34c) * 1000;\n        }" { (expression_statement "iVar18 = *(int *)(puVar27 + -0x34c) * 1000;" (assignment_expression "iVar18 = *(int *)(puVar27 + -0x34c) * 1000" identifier = (binary_expression "*(int *)(puVar27 + -0x34c) * 1000" (pointer_expression "*(int *)(puVar27 + -0x34c)" * (cast_expression "(int *)(puVar27 + -0x34c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x34c)" ( (binary_expression "puVar27 + -0x34c" identifier + number_literal) )))) * number_literal)) ;) })) (expression_statement "*(int *)(puVar27 + -900) = iVar18;" (assignment_expression "*(int *)(puVar27 + -900) = iVar18" (pointer_expression "*(int *)(puVar27 + -900)" * (cast_expression "(int *)(puVar27 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x364)" * (cast_expression "(undefined4 *)(puVar27 + -0x364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x364)" ( (binary_expression "puVar27 + -0x364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cb15;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cb15" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900));" (assignment_expression "iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900))" identifier (argument_list "(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                      *(int *)(puVar27 + -900))" ( (pointer_expression "*(pollfd **)(puVar27 + -0x38c)" * (cast_expression "(pollfd **)(puVar27 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar27 + -0x388)" * (cast_expression "(nfds_t *)(puVar27 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar27 + -900)" * (cast_expression "(int *)(puVar27 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 < 0) goto LAB_0001cb20;" if (parenthesized_expression "(iVar18 < 0)" ( (binary_expression "iVar18 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0001cb20;" goto statement_identifier ;)) (expression_statement "uVar25 = *(ushort *)(puVar27 + -0x332);" (assignment_expression "uVar25 = *(ushort *)(puVar27 + -0x332)" identifier = (pointer_expression "*(ushort *)(puVar27 + -0x332)" * (cast_expression "(ushort *)(puVar27 + -0x332)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x332)" ( (binary_expression "puVar27 + -0x332" identifier + number_literal) ))))) ;) (expression_statement "read_ready = (_Bool)((byte)uVar25 & 1);" (assignment_expression "read_ready = (_Bool)((byte)uVar25 & 1)" identifier = (call_expression "(_Bool)((byte)uVar25 & 1)" (parenthesized_expression "(_Bool)" ( identifier )) (argument_list "((byte)uVar25 & 1)" ( (binary_expression "(byte)uVar25 & 1" (cast_expression "(byte)uVar25" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "write_ready = (byte)(uVar25 >> 2) & 1;" (assignment_expression "write_ready = (byte)(uVar25 >> 2) & 1" identifier = (binary_expression "(byte)(uVar25 >> 2) & 1" (call_expression "(byte)(uVar25 >> 2)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar25 >> 2)" ( (binary_expression "uVar25 >> 2" identifier >> number_literal) ))) & number_literal)) ;) (expression_statement "*(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0);" (assignment_expression "*(uint *)(puVar27 + -0x38c) = (uint)((uVar25 & 0xba) != 0)" (pointer_expression "*(uint *)(puVar27 + -0x38c)" * (cast_expression "(uint *)(puVar27 + -0x38c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (call_expression "(uint)((uVar25 & 0xba) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar25 & 0xba) != 0)" ( (binary_expression "(uVar25 & 0xba) != 0" (parenthesized_expression "(uVar25 & 0xba)" ( (binary_expression "uVar25 & 0xba" identifier & number_literal) )) != number_literal) )))) ;) }) (else_clause "else {\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }" else (compound_statement "{\n        *(undefined4 *)(puVar27 + -0x378) = 0;\n        if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }\n        iVar18 = *(int *)(puVar27 + -0x370);\n        if (iVar18 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;\n        piVar14 = (int *)(puVar27 + -0x330);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        *(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;\n        piVar14 = (int *)(puVar27 + -0x2b0);\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }\n        piVar14 = (int *)(puVar27 + -0x230);\n        piVar30 = piVar14;\n        for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }\n        MVar3 = pMVar29->event_loop_info;\n        *(undefined4 *)(puVar27 + -0x354) = 0xffffffff;\n        if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        *(int **)(puVar27 + -0x390) = piVar14;\n        *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);\n        *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);\n        *(int *)(puVar27 + -0x39c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;\n        iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));\n        if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;\n        iVar18 = __fdelt_chk();\n        MVar4 = pMVar29->socket_fd;\n        bVar11 = (byte)(MVar4 >> 0x1f);\n        *(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);\n        *(MHD_socket *)(puVar27 + -0x38c) = MVar4;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ca35;\n        iVar18 = __fdelt_chk();\n        bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);\n        read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);\n        write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);\n      }" { (expression_statement "*(undefined4 *)(puVar27 + -0x378) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x378) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (0 < iVar18) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }" if (parenthesized_expression "(0 < iVar18)" ( (binary_expression "0 < iVar18" number_literal < identifier) )) (compound_statement "{\n          *(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;\n          tVar16 = MHD_monotonic_sec_counter();\n          iVar17 = tVar16 - pMVar29->last_activity;\n          *(undefined4 *)(puVar27 + -0x348) = 0;\n          iVar21 = 0;\n          if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }\n          *(int *)(puVar27 + -0x34c) = iVar21;\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;\n        }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1c8f3;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1c8f3" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "tVar16 = MHD_monotonic_sec_counter();" (assignment_expression "tVar16 = MHD_monotonic_sec_counter()" identifier = (call_expression "MHD_monotonic_sec_counter()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar17 = tVar16 - pMVar29->last_activity;" (assignment_expression "iVar17 = tVar16 - pMVar29->last_activity" identifier = (binary_expression "tVar16 - pMVar29->last_activity" identifier - (field_expression "pMVar29->last_activity" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x348)" * (cast_expression "(undefined4 *)(puVar27 + -0x348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x348)" ( (binary_expression "puVar27 + -0x348" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar21 = 0;" (assignment_expression "iVar21 = 0" identifier = number_literal) ;) (if_statement "if (iVar17 <= iVar18) {\n            iVar21 = iVar18 - iVar17;\n          }" if (parenthesized_expression "(iVar17 <= iVar18)" ( (binary_expression "iVar17 <= iVar18" identifier <= identifier) )) (compound_statement "{\n            iVar21 = iVar18 - iVar17;\n          }" { (expression_statement "iVar21 = iVar18 - iVar17;" (assignment_expression "iVar21 = iVar18 - iVar17" identifier = (binary_expression "iVar18 - iVar17" identifier - identifier)) ;) })) (expression_statement "*(int *)(puVar27 + -0x34c) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x34c) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x34c)" * (cast_expression "(int *)(puVar27 + -0x34c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x34c)" ( (binary_expression "puVar27 + -0x34c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x34c" (pointer_expression "*(undefined1 **)(puVar27 + -0x378)" * (cast_expression "(undefined1 **)(puVar27 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x34c" identifier + number_literal)) ;) })) (expression_statement "iVar18 = *(int *)(puVar27 + -0x370);" (assignment_expression "iVar18 = *(int *)(puVar27 + -0x370)" identifier = (pointer_expression "*(int *)(puVar27 + -0x370)" * (cast_expression "(int *)(puVar27 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x370)" ( (binary_expression "puVar27 + -0x370" identifier + number_literal) ))))) ;) (if_statement "if (iVar18 != 0) goto LAB_0001cab4;" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cab4;" goto statement_identifier ;)) (labeled_statement "LAB_0001c927:\n        *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;" statement_identifier : (expression_statement "*(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330;" (assignment_expression "*(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x330" (pointer_expression "*(undefined1 **)(puVar27 + -0x368)" * (cast_expression "(undefined1 **)(puVar27 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x330" identifier + number_literal)) ;)) (expression_statement "piVar14 = (int *)(puVar27 + -0x330);" (assignment_expression "piVar14 = (int *)(puVar27 + -0x330)" identifier = (cast_expression "(int *)(puVar27 + -0x330)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x330)" ( (binary_expression "puVar27 + -0x330" identifier + number_literal) )))) ;) (for_statement "for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }" for ( (assignment_expression "iVar21 = 0x20" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }" { (expression_statement "*piVar14 = iVar18;" (assignment_expression "*piVar14 = iVar18" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0;" (assignment_expression "*(undefined1 **)(puVar27 + -0x36c) = puVar27 + -0x2b0" (pointer_expression "*(undefined1 **)(puVar27 + -0x36c)" * (cast_expression "(undefined1 **)(puVar27 + -0x36c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x2b0" identifier + number_literal)) ;) (expression_statement "piVar14 = (int *)(puVar27 + -0x2b0);" (assignment_expression "piVar14 = (int *)(puVar27 + -0x2b0)" identifier = (cast_expression "(int *)(puVar27 + -0x2b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x2b0)" ( (binary_expression "puVar27 + -0x2b0" identifier + number_literal) )))) ;) (for_statement "for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }" for ( (assignment_expression "iVar21 = 0x20" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar14 = iVar18;\n          piVar14 = piVar14 + 1;\n        }" { (expression_statement "*piVar14 = iVar18;" (assignment_expression "*piVar14 = iVar18" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar14 = (int *)(puVar27 + -0x230);" (assignment_expression "piVar14 = (int *)(puVar27 + -0x230)" identifier = (cast_expression "(int *)(puVar27 + -0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x230)" ( (binary_expression "puVar27 + -0x230" identifier + number_literal) )))) ;) (expression_statement "piVar30 = piVar14;" (assignment_expression "piVar30 = piVar14" identifier = identifier) ;) (for_statement "for (iVar21 = 0x20; iVar21 != 0; iVar21 = iVar21 + -1) {\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }" for ( (assignment_expression "iVar21 = 0x20" identifier = number_literal) ; (binary_expression "iVar21 != 0" identifier != number_literal) ; (assignment_expression "iVar21 = iVar21 + -1" identifier = (binary_expression "iVar21 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar30 = iVar18;\n          piVar30 = piVar30 + 1;\n        }" { (expression_statement "*piVar30 = iVar18;" (assignment_expression "*piVar30 = iVar18" (pointer_expression "*piVar30" * identifier) = identifier) ;) (expression_statement "piVar30 = piVar30 + 1;" (assignment_expression "piVar30 = piVar30 + 1" identifier = (binary_expression "piVar30 + 1" identifier + number_literal)) ;) })) (expression_statement "MVar3 = pMVar29->event_loop_info;" (assignment_expression "MVar3 = pMVar29->event_loop_info" identifier = (field_expression "pMVar29->event_loop_info" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x354) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar27 + -0x354) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar27 + -0x354)" * (cast_expression "(undefined4 *)(puVar27 + -0x354)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x354)" ( (binary_expression "puVar27 + -0x354" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_WRITE) {\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }\n        else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_WRITE)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_WRITE" identifier == identifier) )) (compound_statement "{\n          *(int **)(puVar27 + -0x360) = piVar14;\n          *(undefined4 *)(puVar27 + -0x380) = 0x400;\n          *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n          *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);\nLAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;\n          iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n          if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }\n          piVar14 = *(int **)(puVar27 + -0x360);\n          iVar18 = *(int *)(puVar27 + -0x354) + 1;\n        }" { (expression_statement "*(int **)(puVar27 + -0x360) = piVar14;" (assignment_expression "*(int **)(puVar27 + -0x360) = piVar14" (pointer_expression "*(int **)(puVar27 + -0x360)" * (cast_expression "(int **)(puVar27 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x360)" ( (binary_expression "puVar27 + -0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x354" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x354" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x36c)" * (cast_expression "(undefined4 *)(puVar27 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0001cd52:\n          *(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;" statement_identifier : (expression_statement "*(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;" (assignment_expression "*(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd" (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;)) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cd5f;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cd5f" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));" (assignment_expression "iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" identifier = (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),\n                                      *(fd_set **)(puVar27 + -0x388),\n                                      *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 == 0) {\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n            *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1cee7;\n            MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n            goto LAB_0001cb8d;\n          }" { (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xe8b6" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cee7;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cee7" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x388)" * (cast_expression "(char **)(puVar27 + -0x388)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;) })) (expression_statement "piVar14 = *(int **)(puVar27 + -0x360);" (assignment_expression "piVar14 = *(int **)(puVar27 + -0x360)" identifier = (pointer_expression "*(int **)(puVar27 + -0x360)" * (cast_expression "(int **)(puVar27 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x360)" ( (binary_expression "puVar27 + -0x360" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(puVar27 + -0x354) + 1;" (assignment_expression "iVar18 = *(int *)(puVar27 + -0x354) + 1" identifier = (binary_expression "*(int *)(puVar27 + -0x354) + 1" (pointer_expression "*(int *)(puVar27 + -0x354)" * (cast_expression "(int *)(puVar27 + -0x354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x354)" ( (binary_expression "puVar27 + -0x354" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }" else (compound_statement "{\n          if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }\n          if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;\n          iVar18 = 0;\n        }" { (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_READ) {\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_READ)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_READ" identifier == identifier) )) (compound_statement "{\n            *(int **)(puVar27 + -0x360) = piVar14;\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);\n            goto LAB_0001cd52;\n          }" { (expression_statement "*(int **)(puVar27 + -0x360) = piVar14;" (assignment_expression "*(int **)(puVar27 + -0x360) = piVar14" (pointer_expression "*(int **)(puVar27 + -0x360)" * (cast_expression "(int **)(puVar27 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x360)" ( (binary_expression "puVar27 + -0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x354" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x354" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x368)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x368)" * (cast_expression "(undefined4 *)(puVar27 + -0x368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001cd52;" goto statement_identifier ;) })) (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_BLOCK) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_BLOCK)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_BLOCK" identifier == identifier) )) (compound_statement "{\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;\n            *(int **)(puVar27 + -0x388) = piVar14;\n            *(int **)(puVar27 + -0x360) = piVar14;\n            goto LAB_0001cd52;\n          }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x354;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x354" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x354" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar27 + -0x388) = piVar14;" (assignment_expression "*(int **)(puVar27 + -0x388) = piVar14" (pointer_expression "*(int **)(puVar27 + -0x388)" * (cast_expression "(int **)(puVar27 + -0x388)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar27 + -0x360) = piVar14;" (assignment_expression "*(int **)(puVar27 + -0x360) = piVar14" (pointer_expression "*(int **)(puVar27 + -0x360)" * (cast_expression "(int **)(puVar27 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x360)" ( (binary_expression "puVar27 + -0x360" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001cd52;" goto statement_identifier ;) })) (if_statement "if (MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP) goto LAB_0001cb8d;" if (parenthesized_expression "(MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP)" ( (binary_expression "MVar3 == MHD_EVENT_LOOP_INFO_CLEANUP" identifier == identifier) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) }))) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar27 + -0x390) = piVar14;" (assignment_expression "*(int **)(puVar27 + -0x390) = piVar14" (pointer_expression "*(int **)(puVar27 + -0x390)" * (cast_expression "(int **)(puVar27 + -0x390)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar27 + -0x394)" * (cast_expression "(undefined4 *)(puVar27 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x36c)" * (cast_expression "(undefined4 *)(puVar27 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368);" (assignment_expression "*(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x368)" (pointer_expression "*(undefined4 *)(puVar27 + -0x398)" * (cast_expression "(undefined4 *)(puVar27 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x368)" * (cast_expression "(undefined4 *)(puVar27 + -0x368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x39c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x39c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x39c)" * (cast_expression "(int *)(puVar27 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4;" (assignment_expression "*(undefined4 *)(puVar27 + -0x3a0) = 0x1c9a4" (pointer_expression "*(undefined4 *)(puVar27 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar27 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x3a0)" ( (binary_expression "puVar27 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c));" (assignment_expression "iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                        *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                        *(timeval **)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x39c)" * (cast_expression "(int *)(puVar27 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x398)" * (cast_expression "(fd_set **)(puVar27 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x394)" * (cast_expression "(fd_set **)(puVar27 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x390)" * (cast_expression "(fd_set **)(puVar27 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar27 + -0x38c)" * (cast_expression "(timeval **)(puVar27 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 < 0) {\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" if (parenthesized_expression "(iVar18 < 0)" ( (binary_expression "iVar18 < 0" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;\n          piVar14 = __errno_location();\n          iVar18 = *piVar14;\n          if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1cc5d;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1cc5d" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" 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 "iVar18 = *piVar14;" (assignment_expression "iVar18 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if (iVar18 != 4) {\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }" if (parenthesized_expression "(iVar18 != 4)" ( (binary_expression "iVar18 != 4" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar27 + -0x38c) = iVar18;\n            goto LAB_0001cc6c;\n          }" { (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001cc6c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001cd30;" goto statement_identifier ;) })) (expression_statement "*(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd;" (assignment_expression "*(MHD_socket *)(puVar27 + -0x38c) = pMVar29->socket_fd" (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1c9c2;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1c9c2" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = __fdelt_chk();" (assignment_expression "iVar18 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "MVar4 = pMVar29->socket_fd;" (assignment_expression "MVar4 = pMVar29->socket_fd" identifier = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;) (expression_statement "bVar11 = (byte)(MVar4 >> 0x1f);" (assignment_expression "bVar11 = (byte)(MVar4 >> 0x1f)" identifier = (call_expression "(byte)(MVar4 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(MVar4 >> 0x1f)" ( (binary_expression "MVar4 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar27 + -0x378) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar27 + -0x378)" * (cast_expression "(uint *)(puVar27 + -0x378)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = (call_expression "(uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0)" ( (binary_expression "(*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(puVar27 + iVar18 * 4 + -0x230) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar27 + iVar18 * 4 + -0x230)" * (cast_expression "(uint *)(puVar27 + iVar18 * 4 + -0x230)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + iVar18 * 4 + -0x230)" ( (binary_expression "puVar27 + iVar18 * 4 + -0x230" (binary_expression "puVar27 + iVar18 * 4" identifier + (binary_expression "iVar18 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" ( (binary_expression "((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f" (binary_expression "((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3)" (parenthesized_expression "((char)MVar4 + (bVar11 >> 3) & 0x1f)" ( (binary_expression "(char)MVar4 + (bVar11 >> 3) & 0x1f" (binary_expression "(char)MVar4 + (bVar11 >> 3)" (cast_expression "(char)MVar4" ( (type_descriptor "char" primitive_type) ) identifier) + (parenthesized_expression "(bVar11 >> 3)" ( (binary_expression "bVar11 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar11 >> 3)" ( (binary_expression "bVar11 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal) )))) ;) (expression_statement "*(MHD_socket *)(puVar27 + -0x38c) = MVar4;" (assignment_expression "*(MHD_socket *)(puVar27 + -0x38c) = MVar4" (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1c9fb;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1c9fb" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = __fdelt_chk();" (assignment_expression "iVar18 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "MVar4 = pMVar29->socket_fd;" (assignment_expression "MVar4 = pMVar29->socket_fd" identifier = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;) (expression_statement "bVar11 = (byte)(MVar4 >> 0x1f);" (assignment_expression "bVar11 = (byte)(MVar4 >> 0x1f)" identifier = (call_expression "(byte)(MVar4 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(MVar4 >> 0x1f)" ( (binary_expression "MVar4 >> 0x1f" identifier >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar27 + -0x36c) =\n             (uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar27 + -0x36c)" * (cast_expression "(uint *)(puVar27 + -0x36c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) )))) = (call_expression "(uint)((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0)" ( (binary_expression "(*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(puVar27 + iVar18 * 4 + -0x2b0) &\n                    1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar27 + iVar18 * 4 + -0x2b0)" * (cast_expression "(uint *)(puVar27 + iVar18 * 4 + -0x2b0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + iVar18 * 4 + -0x2b0)" ( (binary_expression "puVar27 + iVar18 * 4 + -0x2b0" (binary_expression "puVar27 + iVar18 * 4" identifier + (binary_expression "iVar18 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" ( (binary_expression "((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f" (binary_expression "((char)MVar4 + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3)" (parenthesized_expression "((char)MVar4 + (bVar11 >> 3) & 0x1f)" ( (binary_expression "(char)MVar4 + (bVar11 >> 3) & 0x1f" (binary_expression "(char)MVar4 + (bVar11 >> 3)" (cast_expression "(char)MVar4" ( (type_descriptor "char" primitive_type) ) identifier) + (parenthesized_expression "(bVar11 >> 3)" ( (binary_expression "bVar11 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar11 >> 3)" ( (binary_expression "bVar11 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal) )))) ;) (expression_statement "*(MHD_socket *)(puVar27 + -0x38c) = MVar4;" (assignment_expression "*(MHD_socket *)(puVar27 + -0x38c) = MVar4" (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1ca35;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1ca35" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = __fdelt_chk();" (assignment_expression "iVar18 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar11 = (byte)(pMVar29->socket_fd >> 0x1f);" (assignment_expression "bVar11 = (byte)(pMVar29->socket_fd >> 0x1f)" identifier = (call_expression "(byte)(pMVar29->socket_fd >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(pMVar29->socket_fd >> 0x1f)" ( (binary_expression "pMVar29->socket_fd >> 0x1f" (field_expression "pMVar29->socket_fd" identifier -> field_identifier) >> number_literal) )))) ;) (expression_statement "read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0;" (assignment_expression "read_ready = (*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0" identifier = (binary_expression "(*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     ) != 0" (parenthesized_expression "(*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)\n                     )" ( (binary_expression "*(uint *)(puVar27 + iVar18 * 4 + -0x330) &\n                     1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar27 + iVar18 * 4 + -0x330)" * (cast_expression "(uint *)(puVar27 + iVar18 * 4 + -0x330)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + iVar18 * 4 + -0x330)" ( (binary_expression "puVar27 + iVar18 * 4 + -0x330" (binary_expression "puVar27 + iVar18 * 4" identifier + (binary_expression "iVar18 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f)" ( (binary_expression "((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3) & 0x1f" (binary_expression "((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f) - (bVar11 >> 3)" (parenthesized_expression "((char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f)" ( (binary_expression "(char)pMVar29->socket_fd + (bVar11 >> 3) & 0x1f" (binary_expression "(char)pMVar29->socket_fd + (bVar11 >> 3)" (cast_expression "(char)pMVar29->socket_fd" ( (type_descriptor "char" primitive_type) ) (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) + (parenthesized_expression "(bVar11 >> 3)" ( (binary_expression "bVar11 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar11 >> 3)" ( (binary_expression "bVar11 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x378)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c);" (assignment_expression "write_ready = (undefined1)*(undefined4 *)(puVar27 + -0x36c)" identifier = (binary_expression "(undefined1)*(undefined4 *)(puVar27 + -0x36c)" (parenthesized_expression "(undefined1)" ( identifier )) * (cast_expression "(undefined4 *)(puVar27 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) ))))) ;) }))) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1ca66;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1ca66" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c]);" (assignment_expression "iVar18 = call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c])" identifier = (call_expression "call_handlers(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c])" identifier (argument_list "(pMVar29,read_ready,(_Bool)write_ready,(_Bool)puVar27[-0x38c])" ( identifier , identifier , (cast_expression "(_Bool)write_ready" ( (type_descriptor "_Bool" type_identifier) ) identifier) , (cast_expression "(_Bool)puVar27[-0x38c]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "puVar27[-0x38c]" identifier [ number_literal ])) )))) ;) (if_statement "if (iVar18 == 0) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)) (expression_statement "MVar19 = pMVar29->state;" (assignment_expression "MVar19 = pMVar29->state" identifier = (field_expression "pMVar29->state" identifier -> field_identifier)) ;) (if_statement "if (MVar19 != MHD_CONNECTION_UPGRADE) goto LAB_0001ca80;" if (parenthesized_expression "(MVar19 != MHD_CONNECTION_UPGRADE)" ( (binary_expression "MVar19 != MHD_CONNECTION_UPGRADE" identifier != identifier) )) (goto_statement "goto LAB_0001ca80;" goto statement_identifier ;)) (expression_statement "pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48);" (assignment_expression "pcVar5 = *(code **)(*(int *)(puVar27 + -0x37c) + 0x48)" identifier = (pointer_expression "*(code **)(*(int *)(puVar27 + -0x37c) + 0x48)" * (cast_expression "(code **)(*(int *)(puVar27 + -0x37c) + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0x48)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0x48" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)) {\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }" if (parenthesized_expression "((pcVar5 != (code *)0x0) && (pMVar29->client_aware != false))" ( (binary_expression "(pcVar5 != (code *)0x0) && (pMVar29->client_aware != false)" (parenthesized_expression "(pcVar5 != (code *)0x0)" ( (binary_expression "pcVar5 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pMVar29->client_aware != false)" ( (binary_expression "pMVar29->client_aware != false" (field_expression "pMVar29->client_aware" identifier -> field_identifier) != false) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar27 + -0x380) = 0;\n        *(void ***)(puVar27 + -900) = &pMVar29->client_context;\n        *(MHD_Connection **)(puVar27 + -0x388) = pMVar29;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce83;\n        (*pcVar5)();\n      }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(void ***)(puVar27 + -900) = &pMVar29->client_context;" (assignment_expression "*(void ***)(puVar27 + -900) = &pMVar29->client_context" (pointer_expression "*(void ***)(puVar27 + -900)" * (cast_expression "(void ***)(puVar27 + -900)" ( (type_descriptor "void ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (pointer_expression "&pMVar29->client_context" & (field_expression "pMVar29->client_context" identifier -> field_identifier))) ;) (expression_statement "*(MHD_Connection **)(puVar27 + -0x388) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x388) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x388)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x388)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c)" * (cast_expression "(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0x4c)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0x4c" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1ce83;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1ce83" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar5)();" (call_expression "(*pcVar5)()" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "urh = pMVar29->urh;" (assignment_expression "urh = pMVar29->urh" identifier = (field_expression "pMVar29->urh" identifier -> field_identifier)) ;) (expression_statement "pMVar29->client_aware = false;" (assignment_expression "pMVar29->client_aware = false" (field_expression "pMVar29->client_aware" identifier -> field_identifier) = false) ;) (expression_statement "MVar2 = pMVar29->daemon->options;" (assignment_expression "MVar2 = pMVar29->daemon->options" identifier = (field_expression "pMVar29->daemon->options" (field_expression "pMVar29->daemon" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL) {\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }" if (parenthesized_expression "((MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL)" ( (binary_expression "(MVar2 & (MHD_USE_POLL|MHD_USE_SSL)) == MHD_USE_SSL" (parenthesized_expression "(MVar2 & (MHD_USE_POLL|MHD_USE_SSL))" ( (binary_expression "MVar2 & (MHD_USE_POLL|MHD_USE_SSL)" identifier & (parenthesized_expression "(MHD_USE_POLL|MHD_USE_SSL)" ( (binary_expression "MHD_USE_POLL|MHD_USE_SSL" identifier | identifier) ))) )) == identifier) )) (compound_statement "{\n        *(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;\nLAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n        goto LAB_0001ceb0;\n      }" { (expression_statement "*(MHD_Connection **)(puVar27 + -0x36c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x36c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x36c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x36c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001cef5:\n        if (urh->in_buffer_size != 0) goto LAB_0001cf15;" statement_identifier : (if_statement "if (urh->in_buffer_size != 0) goto LAB_0001cf15;" if (parenthesized_expression "(urh->in_buffer_size != 0)" ( (binary_expression "urh->in_buffer_size != 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_0001cf15;" goto statement_identifier ;))) (labeled_statement "LAB_0001cefc:\n        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }" statement_identifier : (if_statement "if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }" if (parenthesized_expression "(((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0))" ( (binary_expression "((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||\n           (urh->out_buffer_used != 0)" (parenthesized_expression "((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0))" ( (binary_expression "(urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)" (parenthesized_expression "(urh->out_buffer_size != 0)" ( (binary_expression "urh->out_buffer_size != 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(urh->in_buffer_used != 0)" ( (binary_expression "urh->in_buffer_used != 0" (field_expression "urh->in_buffer_used" identifier -> field_identifier) != number_literal) ))) )) || (parenthesized_expression "(urh->out_buffer_used != 0)" ( (binary_expression "urh->out_buffer_used != 0" (field_expression "urh->out_buffer_used" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\nLAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;\n          puVar32 = (undefined4 *)(puVar27 + -0x1b0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;\n          puVar32 = (undefined4 *)(puVar27 + -0x130);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;\n          puVar32 = (undefined4 *)(puVar27 + -0xb0);\n          for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }\n          *(undefined4 *)(puVar27 + -0x350) = 0xffffffff;\n          pMVar29 = urh->connection;\n          iVar18 = (urh->mhd).socket;\n          puVar27[-0x370] = 1;\n          iVar21 = pMVar29->socket_fd;\n          if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }\n          if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n          *(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;\n          *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n          *(undefined4 *)(puVar27 + -0x390) = 0x1d411;\n          MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n          goto LAB_0001ceb0;\n        }" { (labeled_statement "LAB_0001cf15:\n          *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;" statement_identifier : (expression_statement "*(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0;" (assignment_expression "*(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0x1b0" (pointer_expression "*(undefined1 **)(puVar27 + -0x37c)" * (cast_expression "(undefined1 **)(puVar27 + -0x37c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x1b0" identifier + number_literal)) ;)) (expression_statement "puVar32 = (undefined4 *)(puVar27 + -0x1b0);" (assignment_expression "puVar32 = (undefined4 *)(puVar27 + -0x1b0)" identifier = (cast_expression "(undefined4 *)(puVar27 + -0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x1b0)" ( (binary_expression "puVar27 + -0x1b0" identifier + number_literal) )))) ;) (for_statement "for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }" for ( (assignment_expression "iVar18 = 0x20" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }" { (expression_statement "*puVar32 = 0;" (assignment_expression "*puVar32 = 0" (pointer_expression "*puVar32" * identifier) = number_literal) ;) (expression_statement "puVar32 = puVar32 + 1;" (assignment_expression "puVar32 = puVar32 + 1" identifier = (binary_expression "puVar32 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130;" (assignment_expression "*(undefined1 **)(puVar27 + -0x378) = puVar27 + -0x130" (pointer_expression "*(undefined1 **)(puVar27 + -0x378)" * (cast_expression "(undefined1 **)(puVar27 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x130" identifier + number_literal)) ;) (expression_statement "puVar32 = (undefined4 *)(puVar27 + -0x130);" (assignment_expression "puVar32 = (undefined4 *)(puVar27 + -0x130)" identifier = (cast_expression "(undefined4 *)(puVar27 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x130)" ( (binary_expression "puVar27 + -0x130" identifier + number_literal) )))) ;) (for_statement "for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }" for ( (assignment_expression "iVar18 = 0x20" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }" { (expression_statement "*puVar32 = 0;" (assignment_expression "*puVar32 = 0" (pointer_expression "*puVar32" * identifier) = number_literal) ;) (expression_statement "puVar32 = puVar32 + 1;" (assignment_expression "puVar32 = puVar32 + 1" identifier = (binary_expression "puVar32 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar27 + -0x374) = puVar27 + -0xb0" (pointer_expression "*(undefined1 **)(puVar27 + -0x374)" * (cast_expression "(undefined1 **)(puVar27 + -0x374)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) )))) = (binary_expression "puVar27 + -0xb0" identifier + number_literal)) ;) (expression_statement "puVar32 = (undefined4 *)(puVar27 + -0xb0);" (assignment_expression "puVar32 = (undefined4 *)(puVar27 + -0xb0)" identifier = (cast_expression "(undefined4 *)(puVar27 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xb0)" ( (binary_expression "puVar27 + -0xb0" identifier + number_literal) )))) ;) (for_statement "for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }" for ( (assignment_expression "iVar18 = 0x20" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar32 = 0;\n            puVar32 = puVar32 + 1;\n          }" { (expression_statement "*puVar32 = 0;" (assignment_expression "*puVar32 = 0" (pointer_expression "*puVar32" * identifier) = number_literal) ;) (expression_statement "puVar32 = puVar32 + 1;" (assignment_expression "puVar32 = puVar32 + 1" identifier = (binary_expression "puVar32 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(puVar27 + -0x350) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar27 + -0x350) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar27 + -0x350)" * (cast_expression "(undefined4 *)(puVar27 + -0x350)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x350)" ( (binary_expression "puVar27 + -0x350" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pMVar29 = urh->connection;" (assignment_expression "pMVar29 = urh->connection" identifier = (field_expression "urh->connection" identifier -> field_identifier)) ;) (expression_statement "iVar18 = (urh->mhd).socket;" (assignment_expression "iVar18 = (urh->mhd).socket" identifier = (field_expression "(urh->mhd).socket" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "puVar27[-0x370] = 1;" (assignment_expression "puVar27[-0x370] = 1" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar21 = pMVar29->socket_fd;" (assignment_expression "iVar21 = pMVar29->socket_fd" identifier = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;) (if_statement "if (iVar21 == -1) {\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" if (parenthesized_expression "(iVar21 == -1)" ( (binary_expression "iVar21 == -1" identifier == number_literal) )) (compound_statement "{\n            if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d07b;\n            urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d082;\n            process_urh(urh);\n            if (urh->in_buffer_size == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" { (if_statement "if (iVar18 != -1) {\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (compound_statement "{\nLAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }\n              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }\n              goto LAB_0001d000;\n            }" { (labeled_statement "LAB_0001d0b7:\n              if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }" statement_identifier : (if_statement "if (urh->out_buffer_used < urh->out_buffer_size) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }" if (parenthesized_expression "(urh->out_buffer_used < urh->out_buffer_size)" ( (binary_expression "urh->out_buffer_used < urh->out_buffer_size" (field_expression "urh->out_buffer_used" identifier -> field_identifier) < (field_expression "urh->out_buffer_size" identifier -> field_identifier)) )) (compound_statement "{\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;\n                iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));\n                if (iVar21 != 0) goto LAB_0001cfbd;\n                puVar24 = *(undefined1 **)(puVar27 + -0x368);\n                if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;\n                puVar27[-0x370] = 0;\n              }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350;" (assignment_expression "*(undefined1 **)(puVar27 + -0x368) = puVar27 + -0x350" (pointer_expression "*(undefined1 **)(puVar27 + -0x368)" * (cast_expression "(undefined1 **)(puVar27 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x37c)" * (cast_expression "(undefined4 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d0dd;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d0dd" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380));" (assignment_expression "iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380))" identifier = (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380))" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),\n                                            *(fd_set **)(puVar27 + -0x388),\n                                            *(MHD_socket **)(puVar27 + -900),\n                                            *(uint *)(puVar27 + -0x380))" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar21 != 0) goto LAB_0001cfbd;" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cfbd;" goto statement_identifier ;)) (expression_statement "puVar24 = *(undefined1 **)(puVar27 + -0x368);" (assignment_expression "puVar24 = *(undefined1 **)(puVar27 + -0x368)" identifier = (pointer_expression "*(undefined1 **)(puVar27 + -0x368)" * (cast_expression "(undefined1 **)(puVar27 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) ))))) ;) (if_statement "if (urh->in_buffer_used != 0) {\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" if (parenthesized_expression "(urh->in_buffer_used != 0)" ( (binary_expression "urh->in_buffer_used != 0" (field_expression "urh->in_buffer_used" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                  puVar27[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" { (expression_statement "puVar27[-0x370] = 0;" (assignment_expression "puVar27[-0x370] = 0" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d14c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d0f3:\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;" statement_identifier : (if_statement "if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d3f9;" if (parenthesized_expression "(((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->mhd).celi & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "(urh->mhd).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & identifier) )) != identifier) )) (goto_statement "goto LAB_0001d3f9;" goto statement_identifier ;))) (expression_statement "puVar27[-0x370] = 0;" (assignment_expression "puVar27[-0x370] = 0" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }" else (compound_statement "{\nLAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;\n                if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }\n                if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;\n              }" { (labeled_statement "LAB_0001cfbd:\n                puVar24 = puVar27 + -0x350;" statement_identifier : (expression_statement "puVar24 = puVar27 + -0x350;" (assignment_expression "puVar24 = puVar27 + -0x350" identifier = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;)) (if_statement "if (urh->in_buffer_used != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }" if (parenthesized_expression "(urh->in_buffer_used != 0)" ( (binary_expression "urh->in_buffer_used != 0" (field_expression "urh->in_buffer_used" identifier -> field_identifier) != number_literal) )) (compound_statement "{\nLAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar27 + -900) = puVar24;\n                  *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n                  *(int *)(puVar27 + -0x38c) = iVar18;\n                  *(undefined4 *)(puVar27 + -0x390) = 0x1d15e;\n                  iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));\n                  if (iVar21 == 0) goto LAB_0001d0f3;\n                }" { (labeled_statement "LAB_0001d14c:\n                  *(undefined4 *)(puVar27 + -0x380) = 0x400;" statement_identifier : (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar24;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar24" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d15e;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d15e" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380));" (assignment_expression "iVar21 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380))" identifier = (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380))" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),\n                                              *(fd_set **)(puVar27 + -0x388),\n                                              *(MHD_socket **)(puVar27 + -900),\n                                              *(uint *)(puVar27 + -0x380))" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar21 == 0) goto LAB_0001d0f3;" if (parenthesized_expression "(iVar21 == 0)" ( (binary_expression "iVar21 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d0f3;" goto statement_identifier ;)) })) (if_statement "if (((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)\n                goto LAB_0001d000;" if (parenthesized_expression "(((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->mhd).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->mhd).celi & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "(urh->mhd).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & identifier) )) != identifier) )) (goto_statement "goto LAB_0001d000;" goto statement_identifier ;)) })))) (if_statement "if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }" if (parenthesized_expression "(((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0))" ( (binary_expression "((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||\n                 (urh->in_buffer_used != 0)" (parenthesized_expression "((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0))" ( (binary_expression "(urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)" (parenthesized_expression "(urh->out_buffer_size != 0)" ( (binary_expression "urh->out_buffer_size != 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(urh->in_buffer_size != 0)" ( (binary_expression "urh->in_buffer_size != 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) != number_literal) ))) )) || (parenthesized_expression "(urh->in_buffer_used != 0)" ( (binary_expression "urh->in_buffer_used != 0" (field_expression "urh->in_buffer_used" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1cffd;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n              }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x374)" * (cast_expression "(undefined4 *)(puVar27 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cffd;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cffd" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));" (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) ))) ;) })) (goto_statement "goto LAB_0001d000;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d065:\n            *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);" statement_identifier : (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x374)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x374)" * (cast_expression "(undefined4 *)(puVar27 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d07b;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d07b" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c));" (call_expression "urh_from_fdset(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c))" identifier (argument_list "(urh,*(fd_set **)(puVar27 + -0x37c),*(fd_set **)(puVar27 + -0x378),\n                           *(fd_set **)(puVar27 + -0x38c))" ( identifier , (pointer_expression "*(fd_set **)(puVar27 + -0x37c)" * (cast_expression "(fd_set **)(puVar27 + -0x37c)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x378)" * (cast_expression "(fd_set **)(puVar27 + -0x378)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x38c)" * (cast_expression "(fd_set **)(puVar27 + -0x38c)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d082;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d082" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "process_urh(urh);" (call_expression "process_urh(urh)" identifier (argument_list "(urh)" ( identifier ))) ;) (if_statement "if (urh->in_buffer_size == 0) goto LAB_0001cefc;" if (parenthesized_expression "(urh->in_buffer_size == 0)" ( (binary_expression "urh->in_buffer_size == 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) == number_literal) )) (goto_statement "goto LAB_0001cefc;" goto statement_identifier ;)) (goto_statement "goto LAB_0001cf15;" goto statement_identifier ;) })) (if_statement "if (urh->in_buffer_used < urh->in_buffer_size) {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }" if (parenthesized_expression "(urh->in_buffer_used < urh->in_buffer_size)" ( (binary_expression "urh->in_buffer_used < urh->in_buffer_size" (field_expression "urh->in_buffer_used" identifier -> field_identifier) < (field_expression "urh->in_buffer_size" identifier -> field_identifier)) )) (compound_statement "{\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d185;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            puVar27[-0x370] = iVar17 != 0;\n          }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x37c)" * (cast_expression "(undefined4 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x368) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x368) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x368)" * (cast_expression "(int *)(puVar27 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d185;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d185" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );" (assignment_expression "iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       )" identifier = (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       )" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       )" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) )))) ;) (expression_statement "iVar21 = *(int *)(puVar27 + -0x368);" (assignment_expression "iVar21 = *(int *)(puVar27 + -0x368)" identifier = (pointer_expression "*(int *)(puVar27 + -0x368)" * (cast_expression "(int *)(puVar27 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) ))))) ;) (expression_statement "puVar27[-0x370] = iVar17 != 0;" (assignment_expression "puVar27[-0x370] = iVar17 != 0" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) = (binary_expression "iVar17 != 0" identifier != number_literal)) ;) })) (if_statement "if (urh->out_buffer_used == 0) {\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" if (parenthesized_expression "(urh->out_buffer_used == 0)" ( (binary_expression "urh->out_buffer_used == 0" (field_expression "urh->out_buffer_used" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }" { (labeled_statement "LAB_0001cf8d:\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }" statement_identifier : (if_statement "if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }" if (parenthesized_expression "(((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "(urh->app).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & identifier) )) == identifier) )) (compound_statement "{\nLAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }\n              if (iVar18 != -1) goto LAB_0001cfbd;\n            }" { (labeled_statement "LAB_0001cf97:\n              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }" statement_identifier : (if_statement "if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }" if (parenthesized_expression "(((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0))" ( (binary_expression "((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||\n                 (urh->out_buffer_used != 0)" (parenthesized_expression "((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0))" ( (binary_expression "(urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)" (parenthesized_expression "(urh->in_buffer_size != 0)" ( (binary_expression "urh->in_buffer_size != 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) != number_literal) )) || (parenthesized_expression "(urh->out_buffer_size != 0)" ( (binary_expression "urh->out_buffer_size != 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) != number_literal) ))) )) || (parenthesized_expression "(urh->out_buffer_used != 0)" ( (binary_expression "urh->out_buffer_used != 0" (field_expression "urh->out_buffer_used" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar27 + -0x380) = 0x400;\n                *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n                *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);\n                *(int *)(puVar27 + -0x38c) = iVar21;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;\n                MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n                goto LAB_0001d0ae;\n              }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x374)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x374)" * (cast_expression "(undefined4 *)(puVar27 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d0ab;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d0ab" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));" (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                   *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001d0ae;" goto statement_identifier ;) }))) (if_statement "if (iVar18 != -1) goto LAB_0001cfbd;" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001cfbd;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }" else (compound_statement "{\nLAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;\n            }" { (labeled_statement "LAB_0001d0ae:\n              if (iVar18 != -1) goto LAB_0001d0b7;" statement_identifier : (if_statement "if (iVar18 != -1) goto LAB_0001d0b7;" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001d0b7;" goto statement_identifier ;))) })))) (labeled_statement "LAB_0001d000:\n            if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" statement_identifier : (if_statement "if (puVar27[-0x370] != '\0') {\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" if (parenthesized_expression "(puVar27[-0x370] != '\0')" ( (binary_expression "puVar27[-0x370] != '\0'" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;\n              puVar24 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar27 + -0x38c) = puVar24;\n              *(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);\n              *(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);\n              *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);\n              *(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;\n              *(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;\n              iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));\n              if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" { (if_statement "if (*(int *)(puVar27 + -0x350) == -1) goto LAB_0001d065;" if (parenthesized_expression "(*(int *)(puVar27 + -0x350) == -1)" ( (binary_expression "*(int *)(puVar27 + -0x350) == -1" (pointer_expression "*(int *)(puVar27 + -0x350)" * (cast_expression "(int *)(puVar27 + -0x350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x350)" ( (binary_expression "puVar27 + -0x350" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001d065;" goto statement_identifier ;)) (expression_statement "puVar24 = (undefined1 *)0x0;" (assignment_expression "puVar24 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)) {\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }" if (parenthesized_expression "((*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size))" ( (binary_expression "(*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0') &&\n                 (urh->in_buffer_used < urh->in_buffer_size)" (parenthesized_expression "(*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0')" ( (binary_expression "*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0) != '\0'" (pointer_expression "*(char *)(*(int *)(puVar27 + -0x36c) + 0xf0)" * (cast_expression "(char *)(*(int *)(puVar27 + -0x36c) + 0xf0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x36c) + 0xf0)" ( (binary_expression "*(int *)(puVar27 + -0x36c) + 0xf0" (pointer_expression "*(int *)(puVar27 + -0x36c)" * (cast_expression "(int *)(puVar27 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(urh->in_buffer_used < urh->in_buffer_size)" ( (binary_expression "urh->in_buffer_used < urh->in_buffer_size" (field_expression "urh->in_buffer_used" identifier -> field_identifier) < (field_expression "urh->in_buffer_size" identifier -> field_identifier)) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar27 + -0x344) = 0;\n                puVar24 = puVar27 + -0x344;\n                *(undefined4 *)(puVar27 + -0x340) = 0;\n              }" { (expression_statement "*(undefined4 *)(puVar27 + -0x344) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x344) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x344)" * (cast_expression "(undefined4 *)(puVar27 + -0x344)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x344)" ( (binary_expression "puVar27 + -0x344" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar24 = puVar27 + -0x344;" (assignment_expression "puVar24 = puVar27 + -0x344" identifier = (binary_expression "puVar27 + -0x344" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x340) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x340) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x340)" * (cast_expression "(undefined4 *)(puVar27 + -0x340)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x340)" ( (binary_expression "puVar27 + -0x340" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined1 **)(puVar27 + -0x38c) = puVar24;" (assignment_expression "*(undefined1 **)(puVar27 + -0x38c) = puVar24" (pointer_expression "*(undefined1 **)(puVar27 + -0x38c)" * (cast_expression "(undefined1 **)(puVar27 + -0x38c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374);" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = *(undefined4 *)(puVar27 + -0x374)" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x374)" * (cast_expression "(undefined4 *)(puVar27 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378);" (assignment_expression "*(undefined4 *)(puVar27 + -0x394) = *(undefined4 *)(puVar27 + -0x378)" (pointer_expression "*(undefined4 *)(puVar27 + -0x394)" * (cast_expression "(undefined4 *)(puVar27 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar27 + -0x398)" * (cast_expression "(undefined4 *)(puVar27 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x37c)" * (cast_expression "(undefined4 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1;" (assignment_expression "*(int *)(puVar27 + -0x39c) = *(int *)(puVar27 + -0x350) + 1" (pointer_expression "*(int *)(puVar27 + -0x39c)" * (cast_expression "(int *)(puVar27 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar27 + -0x350) + 1" (pointer_expression "*(int *)(puVar27 + -0x350)" * (cast_expression "(int *)(puVar27 + -0x350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x350)" ( (binary_expression "puVar27 + -0x350" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a;" (assignment_expression "*(undefined4 *)(puVar27 + -0x3a0) = 0x1d05a" (pointer_expression "*(undefined4 *)(puVar27 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar27 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x3a0)" ( (binary_expression "puVar27 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c));" (assignment_expression "iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                              *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                              *(timeval **)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x39c)" * (cast_expression "(int *)(puVar27 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x398)" * (cast_expression "(fd_set **)(puVar27 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x394)" * (cast_expression "(fd_set **)(puVar27 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x390)" * (cast_expression "(fd_set **)(puVar27 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar27 + -0x38c)" * (cast_expression "(timeval **)(puVar27 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 < 0) {\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }" if (parenthesized_expression "(iVar18 < 0)" ( (binary_expression "iVar18 < 0" identifier < number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar27 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar18 = *piVar14;\n                if (iVar18 == 4) goto LAB_0001cef5;\n                pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);\n                *(int *)(puVar27 + -0x38c) = iVar18;\n                *(undefined4 *)(puVar27 + -0x390) = 0x1d12e;\n                pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n                *(char **)(puVar27 + -0x390) = pcVar20;\n                *(int *)(puVar27 + -0x394) = iVar18;\n                *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n                *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n                *(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;\n                MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n                goto LAB_0001ceb0;\n              }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1d116;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1d116" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" 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 "iVar18 = *piVar14;" (assignment_expression "iVar18 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if (iVar18 == 4) goto LAB_0001cef5;" if (parenthesized_expression "(iVar18 == 4)" ( (binary_expression "iVar18 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0001cef5;" goto statement_identifier ;)) (expression_statement "pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);" (assignment_expression "pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c)" identifier = (pointer_expression "*(MHD_Connection **)(puVar27 + -0x36c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x36c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d12e;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d12e" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar20 = strerror(*(int *)(puVar27 + -0x38c));" (assignment_expression "pcVar20 = strerror(*(int *)(puVar27 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar27 + -0x390) = pcVar20;" (assignment_expression "*(char **)(puVar27 + -0x390) = pcVar20" (pointer_expression "*(char **)(puVar27 + -0x390)" * (cast_expression "(char **)(puVar27 + -0x390)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x394) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x394) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x394)" * (cast_expression "(int *)(puVar27 + -0x394)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x398) = iVar12 + 0xf552;" (assignment_expression "*(int *)(puVar27 + -0x398) = iVar12 + 0xf552" (pointer_expression "*(int *)(puVar27 + -0x398)" * (cast_expression "(int *)(puVar27 + -0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xf552" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x39c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x39c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f;" (assignment_expression "*(undefined4 *)(puVar27 + -0x3a0) = 0x1d13f" (pointer_expression "*(undefined4 *)(puVar27 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar27 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x3a0)" ( (binary_expression "puVar27 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x39c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x39c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x398)" * (cast_expression "(char **)(puVar27 + -0x398)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d065;" goto statement_identifier ;) }))) }) (else_clause "else {\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar27 + -0x380) = 0x400;\n            *(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;\n            *(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);\n            *(int *)(puVar27 + -0x38c) = iVar21;\n            *(int *)(puVar27 + -0x368) = iVar21;\n            *(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;\n            iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );\n            iVar21 = *(int *)(puVar27 + -0x368);\n            if (iVar17 != 0) goto LAB_0001cf8d;\n            if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350;" (assignment_expression "*(undefined1 **)(puVar27 + -900) = puVar27 + -0x350" (pointer_expression "*(undefined1 **)(puVar27 + -900)" * (cast_expression "(undefined1 **)(puVar27 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378);" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = *(undefined4 *)(puVar27 + -0x378)" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x368) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x368) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x368)" * (cast_expression "(int *)(puVar27 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d1b2;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d1b2" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       );" (assignment_expression "iVar17 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       )" identifier = (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       )" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),\n                                        *(fd_set **)(puVar27 + -0x388),\n                                        *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380)\n                                       )" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) )))) ;) (expression_statement "iVar21 = *(int *)(puVar27 + -0x368);" (assignment_expression "iVar21 = *(int *)(puVar27 + -0x368)" identifier = (pointer_expression "*(int *)(puVar27 + -0x368)" * (cast_expression "(int *)(puVar27 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x368)" ( (binary_expression "puVar27 + -0x368" identifier + number_literal) ))))) ;) (if_statement "if (iVar17 != 0) goto LAB_0001cf8d;" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cf8d;" goto statement_identifier ;)) (if_statement "if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" if (parenthesized_expression "(((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "(urh->app).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & identifier) )) == identifier) )) (compound_statement "{\n              puVar27[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" { (expression_statement "puVar27[-0x370] = 0;" (assignment_expression "puVar27[-0x370] = 0" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001cf97;" goto statement_identifier ;) })) (if_statement "if (iVar18 != -1) {\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (compound_statement "{\n              puVar27[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" { (expression_statement "puVar27[-0x370] = 0;" (assignment_expression "puVar27[-0x370] = 0" (subscript_expression "puVar27[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d0b7;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0001d3f9:\n          pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);" statement_identifier : (expression_statement "pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);" (assignment_expression "pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c)" identifier = (pointer_expression "*(MHD_Connection **)(puVar27 + -0x36c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x36c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) ))))) ;)) (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8eb" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xe8eb" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d411;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d411" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x388)" * (cast_expression "(char **)(puVar27 + -0x388)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) }))) (expression_statement "pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c);" (assignment_expression "pMVar29 = *(MHD_Connection **)(puVar27 + -0x36c)" identifier = (pointer_expression "*(MHD_Connection **)(puVar27 + -0x36c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x36c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x36c)" ( (binary_expression "puVar27 + -0x36c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (if_statement "if ((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG) goto LAB_0001ceb0;" if (parenthesized_expression "((MVar2 & MHD_USE_SSL) == MHD_NO_FLAG)" ( (binary_expression "(MVar2 & MHD_USE_SSL) == MHD_NO_FLAG" (parenthesized_expression "(MVar2 & MHD_USE_SSL)" ( (binary_expression "MVar2 & MHD_USE_SSL" identifier & identifier) )) == identifier) )) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar27 + -0xb0) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0xb0) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0xb0)" * (cast_expression "(undefined4 *)(puVar27 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xb0)" ( (binary_expression "puVar27 + -0xb0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0xa8) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0xa8) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0xa8)" * (cast_expression "(undefined4 *)(puVar27 + -0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa8)" ( (binary_expression "puVar27 + -0xa8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0xac) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0xac) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0xac)" * (cast_expression "(undefined4 *)(puVar27 + -0xac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xac)" ( (binary_expression "puVar27 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0xa4) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0xa4) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0xa4)" * (cast_expression "(undefined4 *)(puVar27 + -0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pMVar6 = urh->connection;" (assignment_expression "pMVar6 = urh->connection" identifier = (field_expression "urh->connection" identifier -> field_identifier)) ;) (expression_statement "*(MHD_Connection **)(puVar27 + -0x378) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x378) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x378)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x378)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd;" (assignment_expression "*(MHD_socket *)(puVar27 + -0xb0) = pMVar6->socket_fd" (pointer_expression "*(MHD_socket *)(puVar27 + -0xb0)" * (cast_expression "(MHD_socket *)(puVar27 + -0xb0)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xb0)" ( (binary_expression "puVar27 + -0xb0" identifier + number_literal) )))) = (field_expression "pMVar6->socket_fd" identifier -> field_identifier)) ;) (expression_statement "*(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket;" (assignment_expression "*(MHD_socket *)(puVar27 + -0xa8) = (urh->mhd).socket" (pointer_expression "*(MHD_socket *)(puVar27 + -0xa8)" * (cast_expression "(MHD_socket *)(puVar27 + -0xa8)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa8)" ( (binary_expression "puVar27 + -0xa8" identifier + number_literal) )))) = (field_expression "(urh->mhd).socket" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto LAB_0001d229;" goto statement_identifier ;) })) (if_statement "if (*(int *)(puVar27 + -0x370) == 0) {\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }" if (parenthesized_expression "(*(int *)(puVar27 + -0x370) == 0)" ( (binary_expression "*(int *)(puVar27 + -0x370) == 0" (pointer_expression "*(int *)(puVar27 + -0x370)" * (cast_expression "(int *)(puVar27 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x370)" ( (binary_expression "puVar27 + -0x370" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar32 = (undefined4 *)(puVar27 + -0x330);\n      puVar31 = puVar32;\n      for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }\n      *(undefined4 *)(puVar27 + -0x380) = 0x400;\n      *(undefined4 *)(puVar27 + -900) = 0;\n      *(undefined4 **)(puVar27 + -0x388) = puVar32;\n      *(undefined4 **)(puVar27 + -0x378) = puVar32;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;\n      iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));\n      if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar27 + -0x38c) = 0;\n      *(undefined4 *)(puVar27 + -0x390) = 0;\n      *(undefined4 *)(puVar27 + -0x394) = 0;\n      *(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);\n      iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(int *)(puVar27 + -0x378) = iVar18;\n      *(int *)(puVar27 + -0x39c) = iVar18 + 1;\n      *(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;\n      iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));\n      if (-1 < iVar18) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cd17;\n      piVar14 = __errno_location();\n      iVar18 = *piVar14;\n      if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }" { (expression_statement "puVar32 = (undefined4 *)(puVar27 + -0x330);" (assignment_expression "puVar32 = (undefined4 *)(puVar27 + -0x330)" identifier = (cast_expression "(undefined4 *)(puVar27 + -0x330)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x330)" ( (binary_expression "puVar27 + -0x330" identifier + number_literal) )))) ;) (expression_statement "puVar31 = puVar32;" (assignment_expression "puVar31 = puVar32" identifier = identifier) ;) (for_statement "for (iVar18 = 0x20; iVar18 != 0; iVar18 = iVar18 + -1) {\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }" for ( (assignment_expression "iVar18 = 0x20" identifier = number_literal) ; (binary_expression "iVar18 != 0" identifier != number_literal) ; (assignment_expression "iVar18 = iVar18 + -1" identifier = (binary_expression "iVar18 + -1" identifier + number_literal)) ) (compound_statement "{\n        *puVar31 = 0;\n        puVar31 = puVar31 + 1;\n      }" { (expression_statement "*puVar31 = 0;" (assignment_expression "*puVar31 = 0" (pointer_expression "*puVar31" * identifier) = number_literal) ;) (expression_statement "puVar31 = puVar31 + 1;" (assignment_expression "puVar31 = puVar31 + 1" identifier = (binary_expression "puVar31 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -900) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -900) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -900)" * (cast_expression "(undefined4 *)(puVar27 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar27 + -0x388) = puVar32;" (assignment_expression "*(undefined4 **)(puVar27 + -0x388) = puVar32" (pointer_expression "*(undefined4 **)(puVar27 + -0x388)" * (cast_expression "(undefined4 **)(puVar27 + -0x388)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar27 + -0x378) = puVar32;" (assignment_expression "*(undefined4 **)(puVar27 + -0x378) = puVar32" (pointer_expression "*(undefined4 **)(puVar27 + -0x378)" * (cast_expression "(undefined4 **)(puVar27 + -0x378)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1ccd7;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1ccd7" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380));" (assignment_expression "iVar18 = MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" identifier = (call_expression "MHD_add_to_fd_set_(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" identifier (argument_list "(*(MHD_socket *)(puVar27 + -0x38c),*(fd_set **)(puVar27 + -0x388),\n                                  *(MHD_socket **)(puVar27 + -900),*(uint *)(puVar27 + -0x380))" ( (pointer_expression "*(MHD_socket *)(puVar27 + -0x38c)" * (cast_expression "(MHD_socket *)(puVar27 + -0x38c)" ( (type_descriptor "MHD_socket *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x388)" * (cast_expression "(fd_set **)(puVar27 + -0x388)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(MHD_socket **)(puVar27 + -900)" * (cast_expression "(MHD_socket **)(puVar27 + -900)" ( (type_descriptor "MHD_socket **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) , (pointer_expression "*(uint *)(puVar27 + -0x380)" * (cast_expression "(uint *)(puVar27 + -0x380)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar18 == 0) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }" if (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) (compound_statement "{\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        goto LAB_0001cb8d;\n      }" { (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8b6" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xe8b6" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d3f1;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d3f1" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x388)" * (cast_expression "(char **)(puVar27 + -0x388)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x394) = 0;" (assignment_expression "*(undefined4 *)(puVar27 + -0x394) = 0" (pointer_expression "*(undefined4 *)(puVar27 + -0x394)" * (cast_expression "(undefined4 *)(puVar27 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378);" (assignment_expression "*(undefined4 *)(puVar27 + -0x398) = *(undefined4 *)(puVar27 + -0x378)" (pointer_expression "*(undefined4 *)(puVar27 + -0x398)" * (cast_expression "(undefined4 *)(puVar27 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x378)" * (cast_expression "(undefined4 *)(puVar27 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc);" (assignment_expression "iVar18 = *(int *)(*(int *)(puVar27 + -0x37c) + 0xdc)" identifier = (pointer_expression "*(int *)(*(int *)(puVar27 + -0x37c) + 0xdc)" * (cast_expression "(int *)(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(puVar27 + -0x378) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x378) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x378)" * (cast_expression "(int *)(puVar27 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x39c) = iVar18 + 1;" (assignment_expression "*(int *)(puVar27 + -0x39c) = iVar18 + 1" (pointer_expression "*(int *)(puVar27 + -0x39c)" * (cast_expression "(int *)(puVar27 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07;" (assignment_expression "*(undefined4 *)(puVar27 + -0x3a0) = 0x1cd07" (pointer_expression "*(undefined4 *)(puVar27 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar27 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x3a0)" ( (binary_expression "puVar27 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c));" (assignment_expression "iVar18 = select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x39c),*(fd_set **)(puVar27 + -0x398),\n                      *(fd_set **)(puVar27 + -0x394),*(fd_set **)(puVar27 + -0x390),\n                      *(timeval **)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x39c)" * (cast_expression "(int *)(puVar27 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x398)" * (cast_expression "(fd_set **)(puVar27 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x394)" * (cast_expression "(fd_set **)(puVar27 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar27 + -0x390)" * (cast_expression "(fd_set **)(puVar27 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar27 + -0x38c)" * (cast_expression "(timeval **)(puVar27 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar18) goto LAB_0001cdf2;" if (parenthesized_expression "(-1 < iVar18)" ( (binary_expression "-1 < iVar18" number_literal < identifier) )) (goto_statement "goto LAB_0001cdf2;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1cd17;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1cd17" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" 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 "iVar18 = *piVar14;" (assignment_expression "iVar18 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if (iVar18 != 4) {\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" if (parenthesized_expression "(iVar18 != 4)" ( (binary_expression "iVar18 != 4" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar27 + -0x38c) = iVar18;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -0x390) = pcVar20;\n        *(int *)(puVar27 + -0x394) = iVar18;\n        *(int *)(puVar27 + -0x398) = iVar12 + 0xf552;\n        *(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));\n        if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" { (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001cc6c:\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc71;" statement_identifier : (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cc71;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cc71" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "pcVar20 = strerror(*(int *)(puVar27 + -0x38c));" (assignment_expression "pcVar20 = strerror(*(int *)(puVar27 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar27 + -0x390) = pcVar20;" (assignment_expression "*(char **)(puVar27 + -0x390) = pcVar20" (pointer_expression "*(char **)(puVar27 + -0x390)" * (cast_expression "(char **)(puVar27 + -0x390)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x394) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x394) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x394)" * (cast_expression "(int *)(puVar27 + -0x394)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x394)" ( (binary_expression "puVar27 + -0x394" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x398) = iVar12 + 0xf552;" (assignment_expression "*(int *)(puVar27 + -0x398) = iVar12 + 0xf552" (pointer_expression "*(int *)(puVar27 + -0x398)" * (cast_expression "(int *)(puVar27 + -0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xf552" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x39c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x39c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x39c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82;" (assignment_expression "*(undefined4 *)(puVar27 + -0x3a0) = 0x1cc82" (pointer_expression "*(undefined4 *)(puVar27 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar27 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x3a0)" ( (binary_expression "puVar27 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x39c),*(char **)(puVar27 + -0x398))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x39c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x39c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x39c)" ( (binary_expression "puVar27 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x398)" * (cast_expression "(char **)(puVar27 + -0x398)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x398)" ( (binary_expression "puVar27 + -0x398" identifier + number_literal) )))) ))) ;) (if_statement "if (pMVar29->state == MHD_CONNECTION_CLOSED) goto LAB_0001cb7f;" if (parenthesized_expression "(pMVar29->state == MHD_CONNECTION_CLOSED)" ( (binary_expression "pMVar29->state == MHD_CONNECTION_CLOSED" (field_expression "pMVar29->state" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_0001cb7f;" goto statement_identifier ;)) (goto_statement "goto LAB_0001cb5c;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar27 + -0x334) = 1;\n      *(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar27 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar27 + -0x388) = 1;\n      *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);\n      *(undefined4 *)(puVar27 + -0x390) = 0x1cde7;\n      iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));\n      if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;\n      piVar14 = __errno_location();\n      if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar27 + -0x334) = 1;" (assignment_expression "*(undefined4 *)(puVar27 + -0x334) = 1" (pointer_expression "*(undefined4 *)(puVar27 + -0x334)" * (cast_expression "(undefined4 *)(puVar27 + -0x334)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x334)" ( (binary_expression "puVar27 + -0x334" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar27 + -0x338) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar27 + -0x338)" * (cast_expression "(undefined4 *)(puVar27 + -0x338)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x338)" ( (binary_expression "puVar27 + -0x338" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -900) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar27 + -900) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar27 + -900)" * (cast_expression "(undefined4 *)(puVar27 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(puVar27 + -0x364)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar27 + -0x364)" * (cast_expression "(undefined4 *)(puVar27 + -0x364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x364)" ( (binary_expression "puVar27 + -0x364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cde7;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cde7" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900));" (assignment_expression "iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900))" identifier (argument_list "(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                    *(int *)(puVar27 + -900))" ( (pointer_expression "*(pollfd **)(puVar27 + -0x38c)" * (cast_expression "(pollfd **)(puVar27 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar27 + -0x388)" * (cast_expression "(nfds_t *)(puVar27 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar27 + -900)" * (cast_expression "(int *)(puVar27 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar18) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }" if (parenthesized_expression "(-1 < iVar18)" ( (binary_expression "-1 < iVar18" number_literal < identifier) )) (compound_statement "{\nLAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;\n        *(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;\n        *(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));\n        MVar19 = pMVar29->state;\n        goto LAB_0001ca80;\n      }" { (labeled_statement "LAB_0001cdf2:\n        *(undefined4 *)(puVar27 + -900) = 8;" statement_identifier : (expression_statement "*(undefined4 *)(puVar27 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar27 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar27 + -900)" * (cast_expression "(undefined4 *)(puVar27 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344;" (assignment_expression "*(undefined1 **)(puVar27 + -0x388) = puVar27 + -0x344" (pointer_expression "*(undefined1 **)(puVar27 + -0x388)" * (cast_expression "(undefined1 **)(puVar27 + -0x388)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "puVar27 + -0x344" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar27 + -0x38c) = *(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar27 + -0x38c)" * (cast_expression "(undefined4 *)(puVar27 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1ce0d;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1ce0d" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900));" (call_expression "read(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900))" identifier (argument_list "(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),*(size_t *)(puVar27 + -900))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar27 + -0x388)" * (cast_expression "(void **)(puVar27 + -0x388)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar27 + -900)" * (cast_expression "(size_t *)(puVar27 + -900)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) ))) ;) (expression_statement "MVar19 = pMVar29->state;" (assignment_expression "MVar19 = pMVar29->state" identifier = (field_expression "pMVar29->state" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0001ca80;" goto statement_identifier ;) })) (labeled_statement "LAB_0001cb20:\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cb25;" statement_identifier : (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1cb25;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1cb25" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar14 != 4) {\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }" if (parenthesized_expression "(*piVar14 != 4)" ( (binary_expression "*piVar14 != 4" (pointer_expression "*piVar14" * identifier) != number_literal) )) (compound_statement "{\n        *(int *)(puVar27 + -0x38c) = *piVar14;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;\n        pcVar20 = strerror(*(int *)(puVar27 + -0x38c));\n        *(char **)(puVar27 + -900) = pcVar20;\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;\n        *(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n        MVar19 = pMVar29->state;\n        break;\n      }" { (expression_statement "*(int *)(puVar27 + -0x38c) = *piVar14;" (assignment_expression "*(int *)(puVar27 + -0x38c) = *piVar14" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cb3b;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cb3b" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar20 = strerror(*(int *)(puVar27 + -0x38c));" (assignment_expression "pcVar20 = strerror(*(int *)(puVar27 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar27 + -900) = pcVar20;" (assignment_expression "*(char **)(puVar27 + -900) = pcVar20" (pointer_expression "*(char **)(puVar27 + -900)" * (cast_expression "(char **)(puVar27 + -900)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xe8d2" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cb4e;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cb4e" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x388)" * (cast_expression "(char **)(puVar27 + -0x388)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) (expression_statement "MVar19 = pMVar29->state;" (assignment_expression "MVar19 = pMVar29->state" identifier = (field_expression "pMVar29->state" identifier -> field_identifier)) ;) (break_statement "break;" break ;) })) }))) (labeled_statement "LAB_0001cd30:\n    MVar19 = pMVar29->state;" statement_identifier : (expression_statement "MVar19 = pMVar29->state;" (assignment_expression "MVar19 = pMVar29->state" identifier = (field_expression "pMVar29->state" identifier -> field_identifier)) ;)) (labeled_statement "LAB_0001ca80:\n    cVar23 = puVar27[-0x374];" statement_identifier : (expression_statement "cVar23 = puVar27[-0x374];" (assignment_expression "cVar23 = puVar27[-0x374]" identifier = (subscript_expression "puVar27[-0x374]" identifier [ number_literal ])) ;)) })) (if_statement "if (MVar19 != MHD_CONNECTION_CLOSED) {\nLAB_0001cb5c:\n    *(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;\n    MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));\n  }" if (parenthesized_expression "(MVar19 != MHD_CONNECTION_CLOSED)" ( (binary_expression "MVar19 != MHD_CONNECTION_CLOSED" identifier != identifier) )) (compound_statement "{\nLAB_0001cb5c:\n    *(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;\n    MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));\n  }" { (labeled_statement "LAB_0001cb5c:\n    *(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" statement_identifier : (expression_statement "*(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" (assignment_expression "*(uint *)(puVar27 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (pointer_expression "*(uint *)(puVar27 + -0x388)" * (cast_expression "(uint *)(puVar27 + -0x388)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "(-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (parenthesized_expression "(-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe)" ( (binary_expression "-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0') & 0xfffffffe" (unary_expression "-(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0')" - (call_expression "(uint)(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar27 + -0x37c) + 0xe0)" * (cast_expression "(char *)(*(int *)(puVar27 + -0x37c) + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar27 + -0x37c) + 0xe0)" ( (binary_expression "*(int *)(puVar27 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal)) ;)) (expression_statement "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cb7c;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cb7c" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388));" (call_expression "MHD_connection_close_\n              (*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Connection **)(puVar27 + -0x38c),\n               *(MHD_RequestTerminationCode *)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(MHD_RequestTerminationCode *)(puVar27 + -0x388)" * (cast_expression "(MHD_RequestTerminationCode *)(puVar27 + -0x388)" ( (type_descriptor "MHD_RequestTerminationCode *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) })) (labeled_statement "LAB_0001cb7f:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" statement_identifier : (expression_statement "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cb8a;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cb8a" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c));" (call_expression "MHD_connection_handle_idle(*(MHD_Connection **)(puVar27 + -0x38c))" identifier (argument_list "(*(MHD_Connection **)(puVar27 + -0x38c))" ( (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_0001cb8d:\n  if (pMVar29->response != (MHD_Response *)0x0) {\n    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;\n    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));\n    pMVar29->response = (MHD_Response *)0x0;\n  }" statement_identifier : (if_statement "if (pMVar29->response != (MHD_Response *)0x0) {\n    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;\n    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));\n    pMVar29->response = (MHD_Response *)0x0;\n  }" if (parenthesized_expression "(pMVar29->response != (MHD_Response *)0x0)" ( (binary_expression "pMVar29->response != (MHD_Response *)0x0" (field_expression "pMVar29->response" identifier -> field_identifier) != (cast_expression "(MHD_Response *)0x0" ( (type_descriptor "MHD_Response *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;\n    MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));\n    pMVar29->response = (MHD_Response *)0x0;\n  }" { (expression_statement "*(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response;" (assignment_expression "*(MHD_Response **)(puVar27 + -0x38c) = pMVar29->response" (pointer_expression "*(MHD_Response **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Response **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Response **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->response" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cb9f;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cb9f" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c));" (call_expression "MHD_destroy_response(*(MHD_Response **)(puVar27 + -0x38c))" identifier (argument_list "(*(MHD_Response **)(puVar27 + -0x38c))" ( (pointer_expression "*(MHD_Response **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Response **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Response **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) (expression_statement "pMVar29->response = (MHD_Response *)0x0;" (assignment_expression "pMVar29->response = (MHD_Response *)0x0" (field_expression "pMVar29->response" identifier -> field_identifier) = (cast_expression "(MHD_Response *)0x0" ( (type_descriptor "MHD_Response *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "iVar18 = pMVar29->socket_fd;" (assignment_expression "iVar18 = pMVar29->socket_fd" identifier = (field_expression "pMVar29->socket_fd" identifier -> field_identifier)) ;) (if_statement "if (iVar18 != -1) {\n    *(undefined4 *)(puVar27 + -0x388) = 1;\n    *(int *)(puVar27 + -0x38c) = iVar18;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));\n  }" if (parenthesized_expression "(iVar18 != -1)" ( (binary_expression "iVar18 != -1" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar27 + -0x388) = 1;\n    *(int *)(puVar27 + -0x38c) = iVar18;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));\n  }" { (expression_statement "*(undefined4 *)(puVar27 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cbc1;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cbc1" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388));" (call_expression "shutdown(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388))" identifier (argument_list "(*(int *)(puVar27 + -0x38c),*(int *)(puVar27 + -0x388))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar18 = *(int *)(puVar27 + -0x37c);" (assignment_expression "iVar18 = *(int *)(puVar27 + -0x37c)" identifier = (pointer_expression "*(int *)(puVar27 + -0x37c)" * (cast_expression "(int *)(puVar27 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(iVar18 + 0xdc);" (assignment_expression "iVar21 = *(int *)(iVar18 + 0xdc)" identifier = (pointer_expression "*(int *)(iVar18 + 0xdc)" * (cast_expression "(int *)(iVar18 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar18 + 0xdc)" ( (binary_expression "iVar18 + 0xdc" identifier + number_literal) ))))) ;) (if_statement "if (iVar21 != -1) {\n    *(undefined4 *)(puVar27 + -900) = 8;\n    *(int *)(puVar27 + -0x388) = iVar12 + 0xffca;\n    *(int *)(puVar27 + -0x38c) = iVar21;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }\n  }" if (parenthesized_expression "(iVar21 != -1)" ( (binary_expression "iVar21 != -1" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar27 + -900) = 8;\n    *(int *)(puVar27 + -0x388) = iVar12 + 0xffca;\n    *(int *)(puVar27 + -0x38c) = iVar21;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar27 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar27 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar27 + -900)" * (cast_expression "(undefined4 *)(puVar27 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xffca;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xffca" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xffca" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar21;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar21" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cc2c;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cc2c" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900));" (assignment_expression "sVar13 = write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900))" identifier = (call_expression "write(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900))" identifier (argument_list "(*(int *)(puVar27 + -0x38c),*(void **)(puVar27 + -0x388),\n                   *(size_t *)(puVar27 + -900))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar27 + -0x388)" * (cast_expression "(void **)(puVar27 + -0x388)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar27 + -900)" * (cast_expression "(size_t *)(puVar27 + -900)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar13 < 1) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }" if (parenthesized_expression "(sVar13 < 1)" ( (binary_expression "sVar13 < 1" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar27 + -0x380) = 0x1cc38;\n      piVar14 = __errno_location();\n      if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1cc38;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1cc38" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar14 != 0xb) {\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }" if (parenthesized_expression "(*piVar14 != 0xb)" ( (binary_expression "*piVar14 != 0xb" (pointer_expression "*piVar14" * identifier) != number_literal) )) (compound_statement "{\n        *(int *)(puVar27 + -0x388) = iVar12 + 0xf572;\n        *(int *)(puVar27 + -0x38c) = iVar18;\n        *(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;\n        MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));\n      }" { (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xf572;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xf572" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xf572" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar27 + -0x38c) = iVar18;" (assignment_expression "*(int *)(puVar27 + -0x38c) = iVar18" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cc4d;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cc4d" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x388)" * (cast_expression "(char **)(puVar27 + -0x388)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) })) })) })) (labeled_statement "LAB_0001cbd2:\n  if (*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar27 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar27 + -0x30)" * (cast_expression "(int *)(puVar27 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x30)" ( (binary_expression "puVar27 + -0x30" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d428;\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1d428;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1d428" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (while_statement "while( true ) {\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar7 = urh->in_buffer_size;\n    uVar8 = urh->out_buffer_size;\n    uVar9 = urh->in_buffer_used;\n    uVar10 = urh->out_buffer_used;\n    if (uVar7 == 0) {\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }\n    if (uVar10 == 0) {\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }\n    MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;\n    if (uVar9 == 0) {\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }\n    pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n    *(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);\n    *(undefined4 *)(puVar27 + -0x388) = 2;\n    *(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;\n    *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1d303;\n    iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900));\n    if (-1 < iVar18) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 *)(puVar27 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar7 = urh->in_buffer_size;\n    uVar8 = urh->out_buffer_size;\n    uVar9 = urh->in_buffer_used;\n    uVar10 = urh->out_buffer_used;\n    if (uVar7 == 0) {\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }\n    if (uVar10 == 0) {\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }\n    MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;\n    if (uVar9 == 0) {\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }\n    pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n    *(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);\n    *(undefined4 *)(puVar27 + -0x388) = 2;\n    *(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;\n    *(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;\n    *(undefined4 *)(puVar27 + -0x390) = 0x1d303;\n    iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900));\n    if (-1 < iVar18) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1d316;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1d316" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar14 != 4) break;" if (parenthesized_expression "(*piVar14 != 4)" ( (binary_expression "*piVar14 != 4" (pointer_expression "*piVar14" * identifier) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001d229:\n    uVar7 = urh->in_buffer_size;" statement_identifier : (expression_statement "uVar7 = urh->in_buffer_size;" (assignment_expression "uVar7 = urh->in_buffer_size" identifier = (field_expression "urh->in_buffer_size" identifier -> field_identifier)) ;)) (expression_statement "uVar8 = urh->out_buffer_size;" (assignment_expression "uVar8 = urh->out_buffer_size" identifier = (field_expression "urh->out_buffer_size" identifier -> field_identifier)) ;) (expression_statement "uVar9 = urh->in_buffer_used;" (assignment_expression "uVar9 = urh->in_buffer_used" identifier = (field_expression "urh->in_buffer_used" identifier -> field_identifier)) ;) (expression_statement "uVar10 = urh->out_buffer_used;" (assignment_expression "uVar10 = urh->out_buffer_used" identifier = (field_expression "urh->out_buffer_used" identifier -> field_identifier)) ;) (if_statement "if (uVar7 == 0) {\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      *(undefined2 *)(puVar27 + -0x374) = 2;\n      *(undefined2 *)(puVar27 + -0x37c) = 6;\n      uVar28 = 4;\n    }" { (if_statement "if ((uVar9 == 0 && uVar8 == 0) && uVar10 == 0) {\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }" if (parenthesized_expression "((uVar9 == 0 && uVar8 == 0) && uVar10 == 0)" ( (binary_expression "(uVar9 == 0 && uVar8 == 0) && uVar10 == 0" (parenthesized_expression "(uVar9 == 0 && uVar8 == 0)" ( (binary_expression "uVar9 == 0 && uVar8 == 0" (binary_expression "uVar9 == 0" identifier == number_literal) && (binary_expression "uVar8 == 0" identifier == number_literal)) )) && (binary_expression "uVar10 == 0" identifier == number_literal)) )) (compound_statement "{\n        pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);\n        goto LAB_0001ceb0;\n      }" { (expression_statement "pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);" (assignment_expression "pMVar29 = *(MHD_Connection **)(puVar27 + -0x378)" identifier = (pointer_expression "*(MHD_Connection **)(puVar27 + -0x378)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x378)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(puVar27 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar27 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar27 + -0xac)" * (cast_expression "(undefined2 *)(puVar27 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xac)" ( (binary_expression "puVar27 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar27 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar27 + -0xa4)" * (cast_expression "(undefined2 *)(puVar27 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar27 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar27 + -0x374)" * (cast_expression "(undefined2 *)(puVar27 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar27 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar27 + -0x37c)" * (cast_expression "(undefined2 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = 4;" (assignment_expression "uVar28 = 4" identifier = number_literal) ;) }) (else_clause "else {\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }" else (compound_statement "{\n      *(undefined2 *)(puVar27 + -0xac) = 0;\n      *(undefined2 *)(puVar27 + -0xa4) = 0;\n      if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }\n    }" { (expression_statement "*(undefined2 *)(puVar27 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar27 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar27 + -0xac)" * (cast_expression "(undefined2 *)(puVar27 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xac)" ( (binary_expression "puVar27 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar27 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar27 + -0xa4)" * (cast_expression "(undefined2 *)(puVar27 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (uVar9 < uVar7) {\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }" if (parenthesized_expression "(uVar9 < uVar7)" ( (binary_expression "uVar9 < uVar7" identifier < identifier) )) (compound_statement "{\n        *(undefined2 *)(puVar27 + -0xac) = 1;\n        *(undefined2 *)(puVar27 + -0x374) = 3;\n        *(undefined2 *)(puVar27 + -0x37c) = 7;\n        uVar28 = 5;\n      }" { (expression_statement "*(undefined2 *)(puVar27 + -0xac) = 1;" (assignment_expression "*(undefined2 *)(puVar27 + -0xac) = 1" (pointer_expression "*(undefined2 *)(puVar27 + -0xac)" * (cast_expression "(undefined2 *)(puVar27 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xac)" ( (binary_expression "puVar27 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0x374) = 3;" (assignment_expression "*(undefined2 *)(puVar27 + -0x374) = 3" (pointer_expression "*(undefined2 *)(puVar27 + -0x374)" * (cast_expression "(undefined2 *)(puVar27 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0x37c) = 7;" (assignment_expression "*(undefined2 *)(puVar27 + -0x37c) = 7" (pointer_expression "*(undefined2 *)(puVar27 + -0x37c)" * (cast_expression "(undefined2 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = 5;" (assignment_expression "uVar28 = 5" identifier = number_literal) ;) }) (else_clause "else {\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }" else (compound_statement "{\n        *(undefined2 *)(puVar27 + -0x374) = 2;\n        uVar28 = 4;\n        *(undefined2 *)(puVar27 + -0x37c) = 6;\n      }" { (expression_statement "*(undefined2 *)(puVar27 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar27 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar27 + -0x374)" * (cast_expression "(undefined2 *)(puVar27 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar28 = 4;" (assignment_expression "uVar28 = 4" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(puVar27 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar27 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar27 + -0x37c)" * (cast_expression "(undefined2 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = number_literal) ;) }))) }))) (if_statement "if (uVar10 == 0) {\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;\n      if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }\n    }" { (if_statement "if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_0001d28f;" if (parenthesized_expression "(((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "(urh->app).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & identifier) )) != identifier) )) (goto_statement "goto LAB_0001d28f;" goto statement_identifier ;)) (if_statement "if (uVar7 != 0 || uVar8 != 0) {\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }" if (parenthesized_expression "(uVar7 != 0 || uVar8 != 0)" ( (binary_expression "uVar7 != 0 || uVar8 != 0" (binary_expression "uVar7 != 0" identifier != number_literal) || (binary_expression "uVar8 != 0" identifier != number_literal)) )) (compound_statement "{\n        *(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);\n        goto LAB_0001d377;\n      }" { (expression_statement "*(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374);" (assignment_expression "*(undefined2 *)(puVar27 + -0x37c) = *(undefined2 *)(puVar27 + -0x374)" (pointer_expression "*(undefined2 *)(puVar27 + -0x37c)" * (cast_expression "(undefined2 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(puVar27 + -0x374)" * (cast_expression "(undefined2 *)(puVar27 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x374)" ( (binary_expression "puVar27 + -0x374" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001d377;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }" else (compound_statement "{\n      *(undefined2 *)(puVar27 + -0xac) = uVar28;\n      if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }\n    }" { (expression_statement "*(undefined2 *)(puVar27 + -0xac) = uVar28;" (assignment_expression "*(undefined2 *)(puVar27 + -0xac) = uVar28" (pointer_expression "*(undefined2 *)(puVar27 + -0xac)" * (cast_expression "(undefined2 *)(puVar27 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xac)" ( (binary_expression "puVar27 + -0xac" identifier + number_literal) )))) = identifier) ;) (if_statement "if (((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }" if (parenthesized_expression "(((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->app).celi & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "(urh->app).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & identifier) )) == identifier) )) (compound_statement "{\nLAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);\n      }" { (labeled_statement "LAB_0001d377:\n        *(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);" statement_identifier : (expression_statement "*(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c);" (assignment_expression "*(undefined2 *)(puVar27 + -0xac) = *(undefined2 *)(puVar27 + -0x37c)" (pointer_expression "*(undefined2 *)(puVar27 + -0xac)" * (cast_expression "(undefined2 *)(puVar27 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xac)" ( (binary_expression "puVar27 + -0xac" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(puVar27 + -0x37c)" * (cast_expression "(undefined2 *)(puVar27 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) ))))) ;)) })) (labeled_statement "LAB_0001d28f:\n      if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }" statement_identifier : (if_statement "if (uVar10 < uVar8) {\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }" if (parenthesized_expression "(uVar10 < uVar8)" ( (binary_expression "uVar10 < uVar8" identifier < identifier) )) (compound_statement "{\n        *(undefined2 *)(puVar27 + -0xa4) = 1;\n      }" { (expression_statement "*(undefined2 *)(puVar27 + -0xa4) = 1;" (assignment_expression "*(undefined2 *)(puVar27 + -0xa4) = 1" (pointer_expression "*(undefined2 *)(puVar27 + -0xa4)" * (cast_expression "(undefined2 *)(puVar27 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) = number_literal) ;) }))) }))) (expression_statement "MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR;" (assignment_expression "MVar22 = (urh->mhd).celi & MHD_EPOLL_STATE_ERROR" identifier = (binary_expression "(urh->mhd).celi & MHD_EPOLL_STATE_ERROR" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & identifier)) ;) (if_statement "if (uVar9 == 0) {\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }" { (if_statement "if ((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)) {\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }" if (parenthesized_expression "((MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0))" ( (binary_expression "(MVar22 == MHD_EPOLL_STATE_UNREADY) && (uVar8 != 0 || uVar7 != 0)" (parenthesized_expression "(MVar22 == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "MVar22 == MHD_EPOLL_STATE_UNREADY" identifier == identifier) )) && (parenthesized_expression "(uVar8 != 0 || uVar7 != 0)" ( (binary_expression "uVar8 != 0 || uVar7 != 0" (binary_expression "uVar8 != 0" identifier != number_literal) || (binary_expression "uVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        uVar25 = *(ushort *)(puVar27 + -0xa4);\n        goto LAB_0001d2c8;\n      }" { (expression_statement "uVar25 = *(ushort *)(puVar27 + -0xa4);" (assignment_expression "uVar25 = *(ushort *)(puVar27 + -0xa4)" identifier = (pointer_expression "*(ushort *)(puVar27 + -0xa4)" * (cast_expression "(ushort *)(puVar27 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001d2c8;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }" else (compound_statement "{\n      uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;\n      *(ushort *)(puVar27 + -0xa4) = uVar25;\n      if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }\n    }" { (expression_statement "uVar25 = *(ushort *)(puVar27 + -0xa4) | 4;" (assignment_expression "uVar25 = *(ushort *)(puVar27 + -0xa4) | 4" identifier = (binary_expression "*(ushort *)(puVar27 + -0xa4) | 4" (pointer_expression "*(ushort *)(puVar27 + -0xa4)" * (cast_expression "(ushort *)(puVar27 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(ushort *)(puVar27 + -0xa4) = uVar25;" (assignment_expression "*(ushort *)(puVar27 + -0xa4) = uVar25" (pointer_expression "*(ushort *)(puVar27 + -0xa4)" * (cast_expression "(ushort *)(puVar27 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) = identifier) ;) (if_statement "if (MVar22 == MHD_EPOLL_STATE_UNREADY) {\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }" if (parenthesized_expression "(MVar22 == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "MVar22 == MHD_EPOLL_STATE_UNREADY" identifier == identifier) )) (compound_statement "{\nLAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;\n      }" { (labeled_statement "LAB_0001d2c8:\n        *(ushort *)(puVar27 + -0xa4) = uVar25 | 2;" statement_identifier : (expression_statement "*(ushort *)(puVar27 + -0xa4) = uVar25 | 2;" (assignment_expression "*(ushort *)(puVar27 + -0xa4) = uVar25 | 2" (pointer_expression "*(ushort *)(puVar27 + -0xa4)" * (cast_expression "(ushort *)(puVar27 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0xa4)" ( (binary_expression "puVar27 + -0xa4" identifier + number_literal) )))) = (binary_expression "uVar25 | 2" identifier | number_literal)) ;)) })) }))) (expression_statement "pMVar29 = *(MHD_Connection **)(puVar27 + -0x378);" (assignment_expression "pMVar29 = *(MHD_Connection **)(puVar27 + -0x378)" identifier = (pointer_expression "*(MHD_Connection **)(puVar27 + -0x378)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x378)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x378)" ( (binary_expression "puVar27 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1);" (assignment_expression "*(uint *)(puVar27 + -900) = -(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1)" (pointer_expression "*(uint *)(puVar27 + -900)" * (cast_expression "(uint *)(puVar27 + -900)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = (unary_expression "-(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1)" - (call_expression "(uint)(byte)(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1)" ( (binary_expression "uVar9 < uVar7 & pMVar29->tls_read_ready ^ 1" (binary_expression "uVar9 < uVar7 & pMVar29->tls_read_ready" (binary_expression "uVar9 < uVar7" identifier < identifier) & (field_expression "pMVar29->tls_read_ready" identifier -> field_identifier)) ^ number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x388) = 2;" (assignment_expression "*(undefined4 *)(puVar27 + -0x388) = 2" (pointer_expression "*(undefined4 *)(puVar27 + -0x388)" * (cast_expression "(undefined4 *)(puVar27 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar27 + -0x38c) = puVar27 + -0xb0" (pointer_expression "*(undefined1 **)(puVar27 + -0x38c)" * (cast_expression "(undefined1 **)(puVar27 + -0x38c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (binary_expression "puVar27 + -0xb0" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar27 + -0x37c) = puVar27 + -0xb0" (pointer_expression "*(undefined1 **)(puVar27 + -0x37c)" * (cast_expression "(undefined1 **)(puVar27 + -0x37c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) = (binary_expression "puVar27 + -0xb0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d303;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d303" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900));" (assignment_expression "iVar18 = poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900))" identifier (argument_list "(*(pollfd **)(puVar27 + -0x38c),*(nfds_t *)(puVar27 + -0x388),\n                  *(int *)(puVar27 + -900))" ( (pointer_expression "*(pollfd **)(puVar27 + -0x38c)" * (cast_expression "(pollfd **)(puVar27 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar27 + -0x388)" * (cast_expression "(nfds_t *)(puVar27 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar27 + -900)" * (cast_expression "(int *)(puVar27 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar18) {\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }" if (parenthesized_expression "(-1 < iVar18)" ( (binary_expression "-1 < iVar18" number_literal < identifier) )) (compound_statement "{\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;\n      urh_00 = urh;\n      urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));\n      *(undefined4 *)(puVar27 + -0x380) = 0x1d3da;\n      process_urh(urh_00);\n      goto LAB_0001d229;\n    }" { (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1d3d5;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1d3d5" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "urh_00 = urh;" (assignment_expression "urh_00 = urh" identifier = identifier) ;) (expression_statement "urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c));" (call_expression "urh_from_pollfd(urh,*(pollfd **)(puVar27 + -0x37c))" identifier (argument_list "(urh,*(pollfd **)(puVar27 + -0x37c))" ( identifier , (pointer_expression "*(pollfd **)(puVar27 + -0x37c)" * (cast_expression "(pollfd **)(puVar27 + -0x37c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x37c)" ( (binary_expression "puVar27 + -0x37c" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x380) = 0x1d3da;" (assignment_expression "*(undefined4 *)(puVar27 + -0x380) = 0x1d3da" (pointer_expression "*(undefined4 *)(puVar27 + -0x380)" * (cast_expression "(undefined4 *)(puVar27 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x380)" ( (binary_expression "puVar27 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "process_urh(urh_00);" (call_expression "process_urh(urh_00)" identifier (argument_list "(urh_00)" ( identifier ))) ;) (goto_statement "goto LAB_0001d229;" goto statement_identifier ;) })) })) (expression_statement "*(int *)(puVar27 + -0x38c) = *piVar14;" (assignment_expression "*(int *)(puVar27 + -0x38c) = *piVar14" (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d32a;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d32a" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar20 = strerror(*(int *)(puVar27 + -0x38c));" (assignment_expression "pcVar20 = strerror(*(int *)(puVar27 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar27 + -0x38c))" identifier (argument_list "(*(int *)(puVar27 + -0x38c))" ( (pointer_expression "*(int *)(puVar27 + -0x38c)" * (cast_expression "(int *)(puVar27 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar27 + -900) = pcVar20;" (assignment_expression "*(char **)(puVar27 + -900) = pcVar20" (pointer_expression "*(char **)(puVar27 + -900)" * (cast_expression "(char **)(puVar27 + -900)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -900)" ( (binary_expression "puVar27 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2;" (assignment_expression "*(int *)(puVar27 + -0x388) = iVar12 + 0xe8d2" (pointer_expression "*(int *)(puVar27 + -0x388)" * (cast_expression "(int *)(puVar27 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) = (binary_expression "iVar12 + 0xe8d2" identifier + number_literal)) ;) (expression_statement "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon;" (assignment_expression "*(MHD_Daemon **)(puVar27 + -0x38c) = pMVar29->daemon" (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = (field_expression "pMVar29->daemon" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1d33d;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1d33d" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388));" (call_expression "MHD_DLOG(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" identifier (argument_list "(*(MHD_Daemon **)(puVar27 + -0x38c),*(char **)(puVar27 + -0x388))" ( (pointer_expression "*(MHD_Daemon **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Daemon **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Daemon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar27 + -0x388)" * (cast_expression "(char **)(puVar27 + -0x388)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x388)" ( (binary_expression "puVar27 + -0x388" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_0001ceb0:\n  *(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" statement_identifier : (expression_statement "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cebb;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cebb" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_connection_finish_forward_(*(MHD_Connection **)(puVar27 + -0x38c));" (call_expression "MHD_connection_finish_forward_(*(MHD_Connection **)(puVar27 + -0x38c))" identifier (argument_list "(*(MHD_Connection **)(puVar27 + -0x38c))" ( (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) (expression_statement "pMVar29->urh->clean_ready = true;" (assignment_expression "pMVar29->urh->clean_ready = true" (field_expression "pMVar29->urh->clean_ready" (field_expression "pMVar29->urh" identifier -> field_identifier) -> field_identifier) = true) ;) (expression_statement "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29;" (assignment_expression "*(MHD_Connection **)(puVar27 + -0x38c) = pMVar29" (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar27 + -0x390) = 0x1cecd;" (assignment_expression "*(undefined4 *)(puVar27 + -0x390) = 0x1cecd" (pointer_expression "*(undefined4 *)(puVar27 + -0x390)" * (cast_expression "(undefined4 *)(puVar27 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + -0x390)" ( (binary_expression "puVar27 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_resume_connection(*(MHD_Connection **)(puVar27 + -0x38c));" (call_expression "MHD_resume_connection(*(MHD_Connection **)(puVar27 + -0x38c))" identifier (argument_list "(*(MHD_Connection **)(puVar27 + -0x38c))" ( (pointer_expression "*(MHD_Connection **)(puVar27 + -0x38c)" * (cast_expression "(MHD_Connection **)(puVar27 + -0x38c)" ( (type_descriptor "MHD_Connection **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar27 + -0x38c)" ( (binary_expression "puVar27 + -0x38c" identifier + number_literal) )))) ))) ;) (goto_statement "goto LAB_0001cbd2;" goto statement_identifier ;) })))
(translation_unit "int * MHD_suspend_connection(int param_1)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}\n\n" (function_definition "int * MHD_suspend_connection(int param_1)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}" primitive_type (pointer_declarator "* MHD_suspend_connection(int param_1)" * (function_declarator "MHD_suspend_connection(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "pthread_t pVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char cVar17;" primitive_type identifier ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "ushort uVar19;" type_identifier identifier ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "pthread_mutex_t *unaff_EBP;" type_identifier (pointer_declarator "*unaff_EBP" * identifier) ;) (declaration "undefined2 uVar22;" type_identifier identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "int aiStackY_3f8 [9];" primitive_type (array_declarator "aiStackY_3f8 [9]" identifier [ number_literal ]) ;) (declaration "int aiStackY_3d4 [2];" primitive_type (array_declarator "aiStackY_3d4 [2]" identifier [ number_literal ]) ;) (declaration "byte abStackY_3cc [4];" type_identifier (array_declarator "abStackY_3cc [4]" identifier [ number_literal ]) ;) (declaration "uint auStackY_3c8 [15];" type_identifier (array_declarator "auStackY_3c8 [15]" identifier [ number_literal ]) ;) (declaration "undefined4 uStackY_38c;" type_identifier identifier ;) (declaration "undefined4 uStackY_108;" type_identifier identifier ;) (declaration "int aiStackY_104 [2];" primitive_type (array_declarator "aiStackY_104 [2]" identifier [ number_literal ]) ;) (declaration "ushort auStackY_fc [58];" type_identifier (array_declarator "auStackY_fc [58]" identifier [ number_literal ]) ;) (declaration "int aiStackY_88 [16];" primitive_type (array_declarator "aiStackY_88 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_38 [8];" type_identifier (array_declarator "auStack_38 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_30;" type_identifier identifier ;) (declaration "undefined **ppuStack_2c;" type_identifier (pointer_declarator "**ppuStack_2c" * (pointer_declarator "*ppuStack_2c" * identifier)) ;) (if_statement "if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }" if (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0)" ( (binary_expression "(*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20)" ( (binary_expression "*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x18) + 0xf9)" * (cast_expression "(byte *)(*(int *)(param_1 + 0x18) + 0xf9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x18) + 0xf9)" ( (binary_expression "*(int *)(param_1 + 0x18) + 0xf9" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }" { (if_statement "if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0xdc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xdc) == 0" (pointer_expression "*(int *)(param_1 + 0xdc)" * (cast_expression "(int *)(param_1 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xdc)" ( (binary_expression "param_1 + 0xdc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }" { (expression_statement "piVar8 = (int *)FUN_0001c3e0();" (assignment_expression "piVar8 = (int *)FUN_0001c3e0()" identifier = (cast_expression "(int *)FUN_0001c3e0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0001c3e0()" identifier (argument_list "()" ( ))))) ;) (return_statement "return piVar8;" return identifier ;) })) (expression_statement "piVar8 = (int *)FUN_000215b0();" (assignment_expression "piVar8 = (int *)FUN_000215b0()" identifier = (cast_expression "(int *)FUN_000215b0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))))) ;) (return_statement "return piVar8;" return identifier ;) })) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar2 = s_Close_socket_failed__0002b058._4_4_;" (assignment_expression "uVar2 = s_Close_socket_failed__0002b058._4_4_" identifier = (field_expression "s_Close_socket_failed__0002b058._4_4_" identifier . field_identifier)) ;) (expression_statement "uStack_30 = 0x1c719;" (assignment_expression "uStack_30 = 0x1c719" identifier = number_literal) ;) (expression_statement "ppuStack_2c = &__DT_PLTGOT;" (assignment_expression "ppuStack_2c = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (if_statement "if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" if (parenthesized_expression "((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0)" ( (binary_expression "(*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0" (parenthesized_expression "(*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20)" ( (binary_expression "*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20" (pointer_expression "*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" * (cast_expression "(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" ( (binary_expression "s_Close_socket_failed__0002b058._4_4_ + 0xf9" (field_expression "s_Close_socket_failed__0002b058._4_4_" identifier . field_identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }" { (expression_statement "puVar20 = &stack0xffffffb8;" (assignment_expression "puVar20 = &stack0xffffffb8" identifier = (pointer_expression "&stack0xffffffb8" & identifier)) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";" statement_identifier : (expression_statement "*(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";" (assignment_expression "*(char **)(puVar20 + -4) = "Failed to unlock mutex.\n"" (pointer_expression "*(char **)(puVar20 + -4)" * (cast_expression "(char **)(puVar20 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -4)" ( (binary_expression "puVar20 + -4" identifier + number_literal) )))) = (string_literal ""Failed to unlock mutex.\n"" " string_content escape_sequence ")) ;)) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xb06;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xb06" (pointer_expression "*(undefined4 *)(puVar20 + -8)" * (cast_expression "(undefined4 *)(puVar20 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -8)" ( (binary_expression "puVar20 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar20 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar20 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar20 + -0xc)" * (cast_expression "(char **)(puVar20 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar20 + -0xc)" ( (binary_expression "puVar20 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" identifier = (binary_expression "puVar20 + -0x10" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" * (cast_expression "(undefined4 *)(puVar20 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x10)" ( (binary_expression "puVar20 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1c7fe" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" * (cast_expression "(undefined4 *)(puVar20 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + -0x14)" ( (binary_expression "puVar20 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" else (compound_statement "{\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" { (expression_statement "unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);" (assignment_expression "unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac)" identifier = (cast_expression "(pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac)" ( (type_descriptor "pthread_mutex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(s_Close_socket_failed__0002b058._4_4_ + 0xac)" ( (binary_expression "s_Close_socket_failed__0002b058._4_4_ + 0xac" (field_expression "s_Close_socket_failed__0002b058._4_4_" identifier . field_identifier) + number_literal) )))) ;) (expression_statement "iVar9 = pthread_mutex_lock(unaff_EBP);" (assignment_expression "iVar9 = pthread_mutex_lock(unaff_EBP)" identifier = (call_expression "pthread_mutex_lock(unaff_EBP)" identifier (argument_list "(unaff_EBP)" ( identifier )))) ;) (expression_statement "puVar21 = auStack_38;" (assignment_expression "puVar21 = auStack_38" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }" { (expression_statement "s_select_failed___s_0002b135[7] = '\x01';" (assignment_expression "s_select_failed___s_0002b135[7] = '\x01'" (subscript_expression "s_select_failed___s_0002b135[7]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "*(undefined1 *)(uVar2 + 0xe3) = 1;" (assignment_expression "*(undefined1 *)(uVar2 + 0xe3) = 1" (pointer_expression "*(undefined1 *)(uVar2 + 0xe3)" * (cast_expression "(undefined1 *)(uVar2 + 0xe3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar2 + 0xe3)" ( (binary_expression "uVar2 + 0xe3" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = pthread_mutex_unlock(unaff_EBP);" (assignment_expression "iVar9 = pthread_mutex_unlock(unaff_EBP)" identifier = (call_expression "pthread_mutex_unlock(unaff_EBP)" identifier (argument_list "(unaff_EBP)" ( identifier )))) ;) (expression_statement "puVar20 = auStack_38;" (assignment_expression "puVar20 = auStack_38" identifier = identifier) ;) (if_statement "if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }" { (expression_statement "piVar8 = *(int **)(uVar2 + 0xdc);" (assignment_expression "piVar8 = *(int **)(uVar2 + 0xdc)" identifier = (pointer_expression "*(int **)(uVar2 + 0xdc)" * (cast_expression "(int **)(uVar2 + 0xdc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar2 + 0xdc)" ( (binary_expression "uVar2 + 0xdc" identifier + number_literal) ))))) ;) (if_statement "if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }" if (parenthesized_expression "((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1))" ( (binary_expression "(piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)" (parenthesized_expression "(piVar8 != (int *)0xffffffff)" ( (binary_expression "piVar8 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)" ( (comma_expression "piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1" (assignment_expression "piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8)" identifier = (cast_expression "(int *)write((int)piVar8,&DAT_0002c7f0,8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "write((int)piVar8,&DAT_0002c7f0,8)" identifier (argument_list "((int)piVar8,&DAT_0002c7f0,8)" ( (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&DAT_0002c7f0" & identifier) , number_literal ))))) , (binary_expression "(int)piVar8 < 1" (cast_expression "(int)piVar8" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal)) ))) )) (compound_statement "{\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }" { (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }" if (parenthesized_expression "(*piVar8 != 0xb)" ( (binary_expression "*piVar8 != 0xb" (pointer_expression "*piVar8" * identifier) != number_literal) )) (compound_statement "{\n            piVar8 = (int *)FUN_000215b0();\n          }" { (expression_statement "piVar8 = (int *)FUN_000215b0();" (assignment_expression "piVar8 = (int *)FUN_000215b0()" identifier = (cast_expression "(int *)FUN_000215b0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))))) ;) })) })) (return_statement "return piVar8;" return identifier ;) })) (goto_statement "goto LAB_0001c7df;" goto statement_identifier ;) })) }))) (expression_statement "*(char **)(puVar21 + -4) = "Failed to lock mutex.\n";" (assignment_expression "*(char **)(puVar21 + -4) = "Failed to lock mutex.\n"" (pointer_expression "*(char **)(puVar21 + -4)" * (cast_expression "(char **)(puVar21 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -4)" ( (binary_expression "puVar21 + -4" identifier + number_literal) )))) = (string_literal ""Failed to lock mutex.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xb01;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xb01" (pointer_expression "*(undefined4 *)(puVar21 + -8)" * (cast_expression "(undefined4 *)(puVar21 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -8)" ( (binary_expression "puVar21 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar21 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar21 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar21 + -0xc)" * (cast_expression "(char **)(puVar21 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0xc)" ( (binary_expression "puVar21 + -0xc" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" * (cast_expression "(undefined4 *)(puVar21 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x10)" ( (binary_expression "puVar21 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1c81d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1c81d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" * (cast_expression "(undefined4 *)(puVar21 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" ( (pointer_expression "*DAT_0003506c" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "*(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;" (assignment_expression "*(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP" (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x14)" * (cast_expression "(pthread_mutex_t **)(puVar21 + -0x14)" ( (type_descriptor "pthread_mutex_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x14)" ( (binary_expression "puVar21 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x18) = 0x1c826;" (assignment_expression "*(undefined4 *)(puVar21 + -0x18) = 0x1c826" (pointer_expression "*(undefined4 *)(puVar21 + -0x18)" * (cast_expression "(undefined4 *)(puVar21 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215a2();" (call_expression "FUN_000215a2()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(char **)(puVar21 + -0x18) = "daemon.c";" (assignment_expression "*(char **)(puVar21 + -0x18) = "daemon.c"" (pointer_expression "*(char **)(puVar21 + -0x18)" * (cast_expression "(char **)(puVar21 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x18)" ( (binary_expression "puVar21 + -0x18" identifier + number_literal) )))) = (string_literal ""daemon.c"" " string_content ")) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x1c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x1c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x1c)" * (cast_expression "(undefined4 *)(puVar21 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1c)" ( (binary_expression "puVar21 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;" (assignment_expression "*(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT" (pointer_expression "*(undefined ***)(puVar21 + -0x20)" * (cast_expression "(undefined ***)(puVar21 + -0x20)" ( (type_descriptor "undefined ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar21 + -0x20)" ( (binary_expression "puVar21 + -0x20" identifier + number_literal) )))) = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar21 + -0x30)" * (cast_expression "(undefined4 *)(puVar21 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x30)" ( (binary_expression "puVar21 + -0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar21 + -0xc);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0xc)" identifier = (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) ))))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0x18)" identifier = (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x37c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x37c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = *(uint *)(iVar12 + 0xf8);" (assignment_expression "uVar1 = *(uint *)(iVar12 + 0xf8)" identifier = (pointer_expression "*(uint *)(iVar12 + 0xf8)" * (cast_expression "(uint *)(iVar12 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xf8)" ( (binary_expression "iVar12 + 0xf8" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar21 + -0x378) = uVar1;" (assignment_expression "*(uint *)(puVar21 + -0x378) = uVar1" (pointer_expression "*(uint *)(puVar21 + -0x378)" * (cast_expression "(uint *)(puVar21 + -0x378)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar21 + -0x370) = uVar1 & 0x40;" (assignment_expression "*(uint *)(puVar21 + -0x370) = uVar1 & 0x40" (pointer_expression "*(uint *)(puVar21 + -0x370)" * (cast_expression "(uint *)(puVar21 + -0x370)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) )))) = (binary_expression "uVar1 & 0x40" identifier & number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1c869;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1c869" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pVar10 = pthread_self();" (assignment_expression "pVar10 = pthread_self()" identifier = (call_expression "pthread_self()" identifier (argument_list "()" ( )))) ;) (expression_statement "cVar17 = '\0';" (assignment_expression "cVar17 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;" (assignment_expression "*(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338" (pointer_expression "*(undefined1 **)(puVar21 + -0x364)" * (cast_expression "(undefined1 **)(puVar21 + -0x364)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x364)" ( (binary_expression "puVar21 + -0x364" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x338" identifier + number_literal)) ;) (expression_statement "*(pthread_t *)(iVar9 + 0x5c) = pVar10;" (assignment_expression "*(pthread_t *)(iVar9 + 0x5c) = pVar10" (pointer_expression "*(pthread_t *)(iVar9 + 0x5c)" * (cast_expression "(pthread_t *)(iVar9 + 0x5c)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x5c)" ( (binary_expression "iVar9 + 0x5c" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (while_statement "while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }" while (parenthesized_expression "(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" * (cast_expression "(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }" { (if_statement "if (iVar12 == 0x13) goto LAB_0001cb7f;" if (parenthesized_expression "(iVar12 == 0x13)" ( (binary_expression "iVar12 == 0x13" identifier == number_literal) )) (goto_statement "goto LAB_0001cb7f;" goto statement_identifier ;)) (expression_statement "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);" (assignment_expression "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" identifier = (pointer_expression "*(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" * (cast_expression "(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xf0)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xf0" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);" (assignment_expression "bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1)" identifier = (binary_expression "*(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1)" (binary_expression "*(int *)(iVar9 + 0xdc) == 0" (pointer_expression "*(int *)(iVar9 + 0xdc)" * (cast_expression "(int *)(iVar9 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) == number_literal) & (pointer_expression "*(byte *)(iVar9 + 0xf1)" * (cast_expression "(byte *)(iVar9 + 0xf1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf1)" ( (binary_expression "iVar9 + 0xf1" identifier + number_literal) )))))) ;) (expression_statement "puVar21[-0x374] = bVar7;" (assignment_expression "puVar21[-0x374] = bVar7" (subscript_expression "puVar21[-0x374]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }" if (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }" { (if_statement "if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }" if (parenthesized_expression "(cVar17 != '\0')" ( (binary_expression "cVar17 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }" { (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc03;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc03" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000156d0();" (call_expression "FUN_000156d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc0b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00016b30();" (call_expression "FUN_00016b30()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" if (parenthesized_expression "((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0))))" ( (binary_expression "(*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))" (parenthesized_expression "(*(int *)(iVar9 + 0xb8) == 2)" ( (binary_expression "*(int *)(iVar9 + 0xb8) == 2" (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))" ( (parenthesized_expression "(*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0))" ( (binary_expression "*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)" (binary_expression "*(char *)(iVar9 + 0xf0) != '\0'" (pointer_expression "*(char *)(iVar9 + 0xf0)" * (cast_expression "(char *)(iVar9 + 0xf0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf0)" ( (binary_expression "iVar9 + 0xf0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(*(int *)(iVar9 + 0xb8) == 0)" ( (binary_expression "*(int *)(iVar9 + 0xb8) == 0" (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x34c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x34c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x34c)" * (cast_expression "(undefined4 *)(puVar21 + -0x34c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x34c)" ( (binary_expression "puVar21 + -0x34c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" * (cast_expression "(undefined1 **)(puVar21 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x34c" identifier + number_literal)) ;) (expression_statement "iVar12 = *(int *)(puVar21 + -0x370);" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x370)" identifier = (pointer_expression "*(int *)(puVar21 + -0x370)" * (cast_expression "(int *)(puVar21 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x348)" * (cast_expression "(undefined4 *)(puVar21 + -0x348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x348)" ( (binary_expression "puVar21 + -0x348" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar12 == 0) goto LAB_0001c927;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001c927;" goto statement_identifier ;)) (labeled_statement "LAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);" statement_identifier : (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x334) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x334) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x334)" * (cast_expression "(undefined4 *)(puVar21 + -0x334)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x338) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x338) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x338)" * (cast_expression "(undefined4 *)(puVar21 + -0x338)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x338)" ( (binary_expression "puVar21 + -0x338" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb8);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 1)" ( (binary_expression "iVar12 == 1" identifier == number_literal) )) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }" { (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" * (cast_expression "(undefined2 *)(puVar21 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" else (if_statement "if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }" { (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 3;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 3" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" * (cast_expression "(undefined2 *)(puVar21 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" else (if_statement "if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }" { (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" * (cast_expression "(undefined2 *)(puVar21 + -0x334)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else if (iVar12 == 3) goto LAB_0001cb8d;" else (if_statement "if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 3)" ( (binary_expression "iVar12 == 3" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)))))))) (expression_statement "iVar12 = -1;" (assignment_expression "iVar12 = -1" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }" if (parenthesized_expression "(*(int *)(puVar21 + -0x378) != 0)" ( (binary_expression "*(int *)(puVar21 + -0x378) != 0" (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }" { (expression_statement "iVar12 = *(int *)(puVar21 + -0x34c) * 1000;" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x34c) * 1000" identifier = (binary_expression "*(int *)(puVar21 + -0x34c) * 1000" (pointer_expression "*(int *)(puVar21 + -0x34c)" * (cast_expression "(int *)(puVar21 + -0x34c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x34c)" ( (binary_expression "puVar21 + -0x34c" identifier + number_literal) )))) * number_literal)) ;) })) (expression_statement "*(int *)(puVar21 + -900) = iVar12;" (assignment_expression "*(int *)(puVar21 + -900) = iVar12" (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x364)" * (cast_expression "(undefined4 *)(puVar21 + -0x364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x364)" ( (binary_expression "puVar21 + -0x364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb15;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb15" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" identifier (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" ( (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" * (cast_expression "(pollfd **)(puVar21 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" * (cast_expression "(nfds_t *)(puVar21 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 < 0) goto LAB_0001cb20;" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (goto_statement "goto LAB_0001cb20;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x38c)" * (cast_expression "(uint *)(puVar21 + -0x38c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (call_expression "(uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" ( (binary_expression "(*(ushort *)(puVar21 + -0x332) & 0xba) != 0" (parenthesized_expression "(*(ushort *)(puVar21 + -0x332) & 0xba)" ( (binary_expression "*(ushort *)(puVar21 + -0x332) & 0xba" (pointer_expression "*(ushort *)(puVar21 + -0x332)" * (cast_expression "(ushort *)(puVar21 + -0x332)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x332)" ( (binary_expression "puVar21 + -0x332" identifier + number_literal) )))) & number_literal) )) != number_literal) )))) ;) }) (else_clause "else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" else (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x378) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x378) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }" if (parenthesized_expression "(0 < iVar12)" ( (binary_expression "0 < iVar12" number_literal < identifier) )) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1c8f3" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar11 = FUN_00021e50();" (assignment_expression "iVar11 = FUN_00021e50()" identifier = (call_expression "FUN_00021e50()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar11 = iVar11 - *(int *)(iVar9 + 0x94);" (assignment_expression "iVar11 = iVar11 - *(int *)(iVar9 + 0x94)" identifier = (binary_expression "iVar11 - *(int *)(iVar9 + 0x94)" identifier - (pointer_expression "*(int *)(iVar9 + 0x94)" * (cast_expression "(int *)(iVar9 + 0x94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x94)" ( (binary_expression "iVar9 + 0x94" identifier + number_literal) )))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x348)" * (cast_expression "(undefined4 *)(puVar21 + -0x348)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x348)" ( (binary_expression "puVar21 + -0x348" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" identifier = number_literal) ;) (if_statement "if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }" if (parenthesized_expression "(iVar11 <= iVar12)" ( (binary_expression "iVar11 <= iVar12" identifier <= identifier) )) (compound_statement "{\n            iVar16 = iVar12 - iVar11;\n          }" { (expression_statement "iVar16 = iVar12 - iVar11;" (assignment_expression "iVar16 = iVar12 - iVar11" identifier = (binary_expression "iVar12 - iVar11" identifier - identifier)) ;) })) (expression_statement "*(int *)(puVar21 + -0x34c) = iVar16;" (assignment_expression "*(int *)(puVar21 + -0x34c) = iVar16" (pointer_expression "*(int *)(puVar21 + -0x34c)" * (cast_expression "(int *)(puVar21 + -0x34c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x34c)" ( (binary_expression "puVar21 + -0x34c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" * (cast_expression "(undefined1 **)(puVar21 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x34c" identifier + number_literal)) ;) })) (expression_statement "iVar12 = *(int *)(puVar21 + -0x370);" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x370)" identifier = (pointer_expression "*(int *)(puVar21 + -0x370)" * (cast_expression "(int *)(puVar21 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0) goto LAB_0001cab4;" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cab4;" goto statement_identifier ;)) (labeled_statement "LAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;" statement_identifier : (expression_statement "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;" (assignment_expression "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330" (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" * (cast_expression "(undefined1 **)(puVar21 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x330" identifier + number_literal)) ;)) (expression_statement "piVar8 = (int *)(puVar21 + -0x330);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x330)" identifier = (cast_expression "(int *)(puVar21 + -0x330)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x330)" ( (binary_expression "puVar21 + -0x330" identifier + number_literal) )))) ;) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" for ( (assignment_expression "iVar16 = 0x20" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" { (expression_statement "*piVar8 = iVar12;" (assignment_expression "*piVar8 = iVar12" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0" (pointer_expression "*(undefined1 **)(puVar21 + -0x36c)" * (cast_expression "(undefined1 **)(puVar21 + -0x36c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x2b0" identifier + number_literal)) ;) (expression_statement "piVar8 = (int *)(puVar21 + -0x2b0);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x2b0)" identifier = (cast_expression "(int *)(puVar21 + -0x2b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x2b0)" ( (binary_expression "puVar21 + -0x2b0" identifier + number_literal) )))) ;) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" for ( (assignment_expression "iVar16 = 0x20" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" { (expression_statement "*piVar8 = iVar12;" (assignment_expression "*piVar8 = iVar12" (pointer_expression "*piVar8" * identifier) = identifier) ;) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" identifier = (binary_expression "piVar8 + 1" identifier + number_literal)) ;) })) (expression_statement "piVar8 = (int *)(puVar21 + -0x230);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x230)" identifier = (cast_expression "(int *)(puVar21 + -0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x230)" ( (binary_expression "puVar21 + -0x230" identifier + number_literal) )))) ;) (expression_statement "piVar14 = piVar8;" (assignment_expression "piVar14 = piVar8" identifier = identifier) ;) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }" for ( (assignment_expression "iVar16 = 0x20" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }" { (expression_statement "*piVar14 = iVar12;" (assignment_expression "*piVar14 = iVar12" (pointer_expression "*piVar14" * identifier) = identifier) ;) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" identifier = (binary_expression "piVar14 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb8);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb8)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb8)" * (cast_expression "(int *)(iVar9 + 0xb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb8)" ( (binary_expression "iVar9 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x354) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x354) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -0x354)" * (cast_expression "(undefined4 *)(puVar21 + -0x354)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x354)" ( (binary_expression "puVar21 + -0x354" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" if (parenthesized_expression "(iVar12 == 1)" ( (binary_expression "iVar12 == 1" identifier == number_literal) )) (compound_statement "{\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }" { (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x354" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x36c)" * (cast_expression "(undefined4 *)(puVar21 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cd5f" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_000225e0();" (assignment_expression "iVar12 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }" { (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8b6" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cee7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cee7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;) })) (expression_statement "piVar8 = *(int **)(puVar21 + -0x360);" (assignment_expression "piVar8 = *(int **)(puVar21 + -0x360)" identifier = (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(puVar21 + -0x354) + 1;" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x354) + 1" identifier = (binary_expression "*(int *)(puVar21 + -0x354) + 1" (pointer_expression "*(int *)(puVar21 + -0x354)" * (cast_expression "(int *)(puVar21 + -0x354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x354)" ( (binary_expression "puVar21 + -0x354" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" else (compound_statement "{\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" { (if_statement "if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }" { (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x354" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x368)" * (cast_expression "(undefined4 *)(puVar21 + -0x368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001cd52;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }" if (parenthesized_expression "(iVar12 == 2)" ( (binary_expression "iVar12 == 2" identifier == number_literal) )) (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x354" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar21 + -0x388) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x388) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x388)" * (cast_expression "(int **)(puVar21 + -0x388)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" * (cast_expression "(int **)(puVar21 + -0x360)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x360)" ( (binary_expression "puVar21 + -0x360" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001cd52;" goto statement_identifier ;) })) (if_statement "if (iVar12 == 3) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 3)" ( (binary_expression "iVar12 == 3" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) }))) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int **)(puVar21 + -0x390) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x390) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x390)" * (cast_expression "(int **)(puVar21 + -0x390)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" * (cast_expression "(undefined4 *)(puVar21 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x36c)" * (cast_expression "(undefined4 *)(puVar21 + -0x36c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" * (cast_expression "(undefined4 *)(puVar21 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x368)" * (cast_expression "(undefined4 *)(puVar21 + -0x368)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x39c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x39c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x398)" * (cast_expression "(fd_set **)(puVar21 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x394)" * (cast_expression "(fd_set **)(puVar21 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x390)" * (cast_expression "(fd_set **)(puVar21 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar21 + -0x38c)" * (cast_expression "(timeval **)(puVar21 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cc5d" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }" if (parenthesized_expression "(iVar12 != 4)" ( (binary_expression "iVar12 != 4" identifier != number_literal) )) (compound_statement "{\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }" { (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_0001cc6c;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001cd30;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1c9c2" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = __fdelt_chk();" (assignment_expression "iVar12 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = (byte)((int)uVar2 >> 0x1f);" (assignment_expression "bVar7 = (byte)((int)uVar2 >> 0x1f)" identifier = (call_expression "(byte)((int)uVar2 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)uVar2 >> 0x1f)" ( (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x378)" * (cast_expression "(uint *)(puVar21 + -0x378)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (call_expression "(uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" ( (binary_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x230)" * (cast_expression "(uint *)(puVar21 + iVar12 * 4 + -0x230)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + iVar12 * 4 + -0x230)" ( (binary_expression "puVar21 + iVar12 * 4 + -0x230" (binary_expression "puVar21 + iVar12 * 4" identifier + (binary_expression "iVar12 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" ( (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f" (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3)" (parenthesized_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f)" ( (binary_expression "(char)uVar2 + (bVar7 >> 3) & 0x1f" (binary_expression "(char)uVar2 + (bVar7 >> 3)" (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier) + (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1c9fb" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = __fdelt_chk();" (assignment_expression "iVar12 = __fdelt_chk()" identifier = (call_expression "__fdelt_chk()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" * (cast_expression "(undefined4 *)(iVar9 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "bVar7 = (byte)((int)uVar2 >> 0x1f);" (assignment_expression "bVar7 = (byte)((int)uVar2 >> 0x1f)" identifier = (call_expression "(byte)((int)uVar2 >> 0x1f)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "((int)uVar2 >> 0x1f)" ( (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x36c)" * (cast_expression "(uint *)(puVar21 + -0x36c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) = (call_expression "(uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" ( (binary_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x2b0)" * (cast_expression "(uint *)(puVar21 + iVar12 * 4 + -0x2b0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + iVar12 * 4 + -0x2b0)" ( (binary_expression "puVar21 + iVar12 * 4 + -0x2b0" (binary_expression "puVar21 + iVar12 * 4" identifier + (binary_expression "iVar12 * 4" identifier * number_literal)) + number_literal) )))) & (binary_expression "1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" number_literal << (parenthesized_expression "(((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" ( (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f" (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3)" (parenthesized_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f)" ( (binary_expression "(char)uVar2 + (bVar7 >> 3) & 0x1f" (binary_expression "(char)uVar2 + (bVar7 >> 3)" (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier) + (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )) - (parenthesized_expression "(bVar7 >> 3)" ( (binary_expression "bVar7 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) != number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ca35;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ca35" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__fdelt_chk();" (call_expression "__fdelt_chk()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) }))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ca66;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ca66" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_00019590();" (assignment_expression "iVar12 = FUN_00019590()" identifier = (call_expression "FUN_00019590()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) goto LAB_0001cb8d;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;)) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != 0x14) goto LAB_0001ca80;" if (parenthesized_expression "(iVar12 != 0x14)" ( (binary_expression "iVar12 != 0x14" identifier != number_literal) )) (goto_statement "goto LAB_0001ca80;" goto statement_identifier ;)) (expression_statement "pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);" (assignment_expression "pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" identifier = (pointer_expression "*(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" * (cast_expression "(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0x48)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0x48" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }" if (parenthesized_expression "((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0'))" ( (binary_expression "(pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')" (parenthesized_expression "(pcVar3 != (code *)0x0)" ( (binary_expression "pcVar3 != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(char *)(iVar9 + 0xa0) != '\0')" ( (binary_expression "*(char *)(iVar9 + 0xa0) != '\0'" (pointer_expression "*(char *)(iVar9 + 0xa0)" * (cast_expression "(char *)(iVar9 + 0xa0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa0)" ( (binary_expression "iVar9 + 0xa0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -900) = iVar9 + 0x2c;" (assignment_expression "*(int *)(puVar21 + -900) = iVar9 + 0x2c" (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "iVar9 + 0x2c" identifier + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x388) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x388) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0x4c)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0x4c" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ce83;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ce83" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar8 = *(int **)(iVar9 + 0xdc);" (assignment_expression "piVar8 = *(int **)(iVar9 + 0xdc)" identifier = (pointer_expression "*(int **)(iVar9 + 0xdc)" * (cast_expression "(int **)(iVar9 + 0xdc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar9 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(iVar9 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(iVar9 + 0xa0)" * (cast_expression "(undefined1 *)(iVar9 + 0xa0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa0)" ( (binary_expression "iVar9 + 0xa0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);" (assignment_expression "uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" * (cast_expression "(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x18) + 0xf8)" ( (binary_expression "*(int *)(iVar9 + 0x18) + 0xf8" (pointer_expression "*(int *)(iVar9 + 0x18)" * (cast_expression "(int *)(iVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }" if (parenthesized_expression "((uVar1 & 0x42) == 2)" ( (binary_expression "(uVar1 & 0x42) == 2" (parenthesized_expression "(uVar1 & 0x42)" ( (binary_expression "uVar1 & 0x42" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }" { (expression_statement "*(int *)(puVar21 + -0x36c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x36c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;" statement_identifier : (if_statement "if (piVar8[8] != 0) goto LAB_0001cf15;" if (parenthesized_expression "(piVar8[8] != 0)" ( (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0001cf15;" goto statement_identifier ;))) (labeled_statement "LAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" statement_identifier : (if_statement "if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" if (parenthesized_expression "(((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0))" ( (binary_expression "((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)" (parenthesized_expression "((piVar8[9] != 0) || (piVar8[10] != 0))" ( (binary_expression "(piVar8[9] != 0) || (piVar8[10] != 0)" (parenthesized_expression "(piVar8[9] != 0)" ( (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar8[0xb] != 0)" ( (binary_expression "piVar8[0xb] != 0" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" { (labeled_statement "LAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;" statement_identifier : (expression_statement "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0" (pointer_expression "*(undefined1 **)(puVar21 + -0x37c)" * (cast_expression "(undefined1 **)(puVar21 + -0x37c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x1b0" identifier + number_literal)) ;)) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x1b0);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x1b0)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0x1b0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x1b0)" ( (binary_expression "puVar21 + -0x1b0" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x20" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" * (cast_expression "(undefined1 **)(puVar21 + -0x378)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x130" identifier + number_literal)) ;) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x130);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x130)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0x130)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x130)" ( (binary_expression "puVar21 + -0x130" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x20" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x374)" * (cast_expression "(undefined1 **)(puVar21 + -0x374)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = (binary_expression "puVar21 + -0xb0" identifier + number_literal)) ;) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0xb0);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0xb0)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xb0)" ( (binary_expression "puVar21 + -0xb0" identifier + number_literal) )))) ;) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" for ( (assignment_expression "iVar9 = 0x20" identifier = number_literal) ; (binary_expression "iVar9 != 0" identifier != number_literal) ; (assignment_expression "iVar9 = iVar9 + -1" identifier = (binary_expression "iVar9 + -1" identifier + number_literal)) ) (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x350) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x350) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -0x350)" * (cast_expression "(undefined4 *)(puVar21 + -0x350)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x350)" ( (binary_expression "puVar21 + -0x350" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = *piVar8;" (assignment_expression "iVar9 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "iVar12 = piVar8[0x10];" (assignment_expression "iVar12 = piVar8[0x10]" identifier = (subscript_expression "piVar8[0x10]" identifier [ number_literal ])) ;) (expression_statement "puVar21[-0x370] = 1;" (assignment_expression "puVar21[-0x370] = 1" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar9 = *(int *)(iVar9 + 0xa4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xa4)" * (cast_expression "(int *)(iVar9 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" if (parenthesized_expression "(iVar9 == -1)" ( (binary_expression "iVar9 == -1" identifier == number_literal) )) (compound_statement "{\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" { (if_statement "if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }" { (labeled_statement "LAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" statement_identifier : (if_statement "if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" if (parenthesized_expression "((uint)piVar8[0xb] < (uint)piVar8[9])" ( (binary_expression "(uint)piVar8[0xb] < (uint)piVar8[9]" (cast_expression "(uint)piVar8[0xb]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[0xb]" identifier [ number_literal ])) < (cast_expression "(uint)piVar8[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[9]" identifier [ number_literal ]))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" * (cast_expression "(undefined1 **)(puVar21 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" * (cast_expression "(undefined4 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d0dd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = FUN_000225e0();" (assignment_expression "iVar9 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 != 0) goto LAB_0001cfbd;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cfbd;" goto statement_identifier ;)) (expression_statement "puVar18 = *(undefined1 **)(puVar21 + -0x368);" (assignment_expression "puVar18 = *(undefined1 **)(puVar21 + -0x368)" identifier = (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" * (cast_expression "(undefined1 **)(puVar21 + -0x368)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (if_statement "if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" if (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" { (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d14c;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;" statement_identifier : (if_statement "if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;" if (parenthesized_expression "((*(byte *)(piVar8 + 0x11) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar8 + 0x11) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0x11) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0x11) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0x11)" * (cast_expression "(byte *)(piVar8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x11)" ( (binary_expression "piVar8 + 0x11" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d3f9;" goto statement_identifier ;))) (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" else (compound_statement "{\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" { (labeled_statement "LAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;" statement_identifier : (expression_statement "puVar18 = puVar21 + -0x350;" (assignment_expression "puVar18 = puVar21 + -0x350" identifier = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;)) (if_statement "if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }" if (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }" { (labeled_statement "LAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar18;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar18" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d15e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d15e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = FUN_000225e0();" (assignment_expression "iVar9 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar9 == 0) goto LAB_0001d0f3;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0001d0f3;" goto statement_identifier ;)) })) (if_statement "if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;" if (parenthesized_expression "((*(byte *)(piVar8 + 0x11) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar8 + 0x11) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0x11) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0x11) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0x11)" * (cast_expression "(byte *)(piVar8 + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x11)" ( (binary_expression "piVar8 + 0x11" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d000;" goto statement_identifier ;)) })))) (if_statement "if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }" if (parenthesized_expression "(((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0))" ( (binary_expression "((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)" (parenthesized_expression "((piVar8[9] != 0) || (piVar8[8] != 0))" ( (binary_expression "(piVar8[9] != 0) || (piVar8[8] != 0)" (parenthesized_expression "(piVar8[9] != 0)" ( (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(piVar8[8] != 0)" ( (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar8[10] != 0)" ( (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cffd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cffd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000225e0();" (call_expression "FUN_000225e0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_0001d000;" goto statement_identifier ;) })) (labeled_statement "LAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d07b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d07b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00019470();" (call_expression "FUN_00019470()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d082;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d082" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00019710();" (call_expression "FUN_00019710()" identifier (argument_list "()" ( ))) ;) (if_statement "if (piVar8[8] == 0) goto LAB_0001cefc;" if (parenthesized_expression "(piVar8[8] == 0)" ( (binary_expression "piVar8[8] == 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0001cefc;" goto statement_identifier ;)) (goto_statement "goto LAB_0001cf15;" goto statement_identifier ;) })) (if_statement "if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }" if (parenthesized_expression "((uint)piVar8[10] < (uint)piVar8[8])" ( (binary_expression "(uint)piVar8[10] < (uint)piVar8[8]" (cast_expression "(uint)piVar8[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[10]" identifier [ number_literal ])) < (cast_expression "(uint)piVar8[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[8]" identifier [ number_literal ]))) )) (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" * (cast_expression "(undefined4 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x368) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x368) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d185;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d185" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = FUN_000225e0();" (assignment_expression "iVar16 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(puVar21 + -0x368);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x368)" identifier = (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (expression_statement "puVar21[-0x370] = iVar16 != 0;" (assignment_expression "puVar21[-0x370] = iVar16 != 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = (binary_expression "iVar16 != 0" identifier != number_literal)) ;) })) (if_statement "if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" if (parenthesized_expression "(piVar8[0xb] == 0)" ( (binary_expression "piVar8[0xb] == 0" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }" { (labeled_statement "LAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" statement_identifier : (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }" { (labeled_statement "LAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" statement_identifier : (if_statement "if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" if (parenthesized_expression "(((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0))" ( (binary_expression "((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)" (parenthesized_expression "((piVar8[8] != 0) || (piVar8[9] != 0))" ( (binary_expression "(piVar8[8] != 0) || (piVar8[9] != 0)" (parenthesized_expression "(piVar8[8] != 0)" ( (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(piVar8[9] != 0)" ( (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" identifier [ number_literal ]) != number_literal) ))) )) || (parenthesized_expression "(piVar8[0xb] != 0)" ( (binary_expression "piVar8[0xb] != 0" (subscript_expression "piVar8[0xb]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d0ab" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000225e0();" (call_expression "FUN_000225e0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001d0ae;" goto statement_identifier ;) }))) (if_statement "if (iVar12 != -1) goto LAB_0001cfbd;" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001cfbd;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" else (compound_statement "{\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" { (labeled_statement "LAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;" statement_identifier : (if_statement "if (iVar12 != -1) goto LAB_0001d0b7;" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0001d0b7;" goto statement_identifier ;))) })))) (labeled_statement "LAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" statement_identifier : (if_statement "if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" if (parenthesized_expression "(puVar21[-0x370] != '\0')" ( (binary_expression "puVar21[-0x370] != '\0'" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" { (if_statement "if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;" if (parenthesized_expression "(*(int *)(puVar21 + -0x350) == -1)" ( (binary_expression "*(int *)(puVar21 + -0x350) == -1" (pointer_expression "*(int *)(puVar21 + -0x350)" * (cast_expression "(int *)(puVar21 + -0x350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x350)" ( (binary_expression "puVar21 + -0x350" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001d065;" goto statement_identifier ;)) (expression_statement "puVar18 = (undefined1 *)0x0;" (assignment_expression "puVar18 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }" if (parenthesized_expression "((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8]))" ( (binary_expression "(*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])" (parenthesized_expression "(*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0')" ( (binary_expression "*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0)" * (cast_expression "(char *)(*(int *)(puVar21 + -0x36c) + 0xf0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x36c) + 0xf0)" ( (binary_expression "*(int *)(puVar21 + -0x36c) + 0xf0" (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((uint)piVar8[10] < (uint)piVar8[8])" ( (binary_expression "(uint)piVar8[10] < (uint)piVar8[8]" (cast_expression "(uint)piVar8[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[10]" identifier [ number_literal ])) < (cast_expression "(uint)piVar8[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[8]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x344) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x344) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x344)" * (cast_expression "(undefined4 *)(puVar21 + -0x344)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x344)" ( (binary_expression "puVar21 + -0x344" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar18 = puVar21 + -0x344;" (assignment_expression "puVar18 = puVar21 + -0x344" identifier = (binary_expression "puVar21 + -0x344" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x340) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x340) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x340)" * (cast_expression "(undefined4 *)(puVar21 + -0x340)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x340)" ( (binary_expression "puVar21 + -0x340" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined1 **)(puVar21 + -0x38c) = puVar18;" (assignment_expression "*(undefined1 **)(puVar21 + -0x38c) = puVar18" (pointer_expression "*(undefined1 **)(puVar21 + -0x38c)" * (cast_expression "(undefined1 **)(puVar21 + -0x38c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" * (cast_expression "(undefined4 *)(puVar21 + -0x374)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" * (cast_expression "(undefined4 *)(puVar21 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" * (cast_expression "(undefined4 *)(puVar21 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" * (cast_expression "(undefined4 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;" (assignment_expression "*(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1" (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar21 + -0x350) + 1" (pointer_expression "*(int *)(puVar21 + -0x350)" * (cast_expression "(int *)(puVar21 + -0x350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x350)" ( (binary_expression "puVar21 + -0x350" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x398)" * (cast_expression "(fd_set **)(puVar21 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x394)" * (cast_expression "(fd_set **)(puVar21 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x390)" * (cast_expression "(fd_set **)(puVar21 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar21 + -0x38c)" * (cast_expression "(timeval **)(puVar21 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }" if (parenthesized_expression "(iVar9 < 0)" ( (binary_expression "iVar9 < 0" identifier < number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d116;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d116" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" 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 "iVar12 = *piVar14;" (assignment_expression "iVar12 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (if_statement "if (iVar12 == 4) goto LAB_0001cef5;" if (parenthesized_expression "(iVar12 == 4)" ( (binary_expression "iVar12 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0001cef5;" goto statement_identifier ;)) (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d12e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d12e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -0x390) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -0x390) = pcVar15" (pointer_expression "*(char **)(puVar21 + -0x390)" * (cast_expression "(char **)(puVar21 + -0x390)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x394) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x394) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x394)" * (cast_expression "(int *)(puVar21 + -0x394)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;" (assignment_expression "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552" (pointer_expression "*(int *)(puVar21 + -0x398)" * (cast_expression "(int *)(puVar21 + -0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xf552" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x39c)" * (cast_expression "(undefined4 *)(puVar21 + -0x39c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (goto_statement "goto LAB_0001d065;" goto statement_identifier ;) }))) }) (else_clause "else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" * (cast_expression "(undefined1 **)(puVar21 + -900)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x350" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x368) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x368) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d1b2" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar16 = FUN_000225e0();" (assignment_expression "iVar16 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(puVar21 + -0x368);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x368)" identifier = (pointer_expression "*(int *)(puVar21 + -0x368)" * (cast_expression "(int *)(puVar21 + -0x368)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x368)" ( (binary_expression "puVar21 + -0x368" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 != 0) goto LAB_0001cf8d;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0001cf8d;" goto statement_identifier ;)) (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" { (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001cf97;" goto statement_identifier ;) })) (if_statement "if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" { (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_0001d0b7;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);" statement_identifier : (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;)) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8eb" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d411;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d411" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) }))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x36c)" * (cast_expression "(int *)(puVar21 + -0x36c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x36c)" ( (binary_expression "puVar21 + -0x36c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (if_statement "if ((uVar1 & 2) == 0) goto LAB_0001ceb0;" if (parenthesized_expression "((uVar1 & 2) == 0)" ( (binary_expression "(uVar1 & 2) == 0" (parenthesized_expression "(uVar1 & 2)" ( (binary_expression "uVar1 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar21 + -0xb0) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xb0) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xb0)" * (cast_expression "(undefined4 *)(puVar21 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xb0)" ( (binary_expression "puVar21 + -0xb0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xa8) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xa8) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xa8)" * (cast_expression "(undefined4 *)(puVar21 + -0xa8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa8)" ( (binary_expression "puVar21 + -0xa8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xac)" * (cast_expression "(undefined4 *)(puVar21 + -0xac)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xa4)" * (cast_expression "(undefined4 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(int *)(puVar21 + -0x378) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x378) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0xb0)" * (cast_expression "(undefined4 *)(puVar21 + -0xb0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xb0)" ( (binary_expression "puVar21 + -0xb0" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar12 + 0xa4)" * (cast_expression "(undefined4 *)(iVar12 + 0xa4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xa4)" ( (binary_expression "iVar12 + 0xa4" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0xa8) = piVar8[0x10];" (assignment_expression "*(int *)(puVar21 + -0xa8) = piVar8[0x10]" (pointer_expression "*(int *)(puVar21 + -0xa8)" * (cast_expression "(int *)(puVar21 + -0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa8)" ( (binary_expression "puVar21 + -0xa8" identifier + number_literal) )))) = (subscript_expression "piVar8[0x10]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_0001d229;" goto statement_identifier ;) })) (if_statement "if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" if (parenthesized_expression "(*(int *)(puVar21 + -0x370) == 0)" ( (binary_expression "*(int *)(puVar21 + -0x370) == 0" (pointer_expression "*(int *)(puVar21 + -0x370)" * (cast_expression "(int *)(puVar21 + -0x370)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x370)" ( (binary_expression "puVar21 + -0x370" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }" { (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x330);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x330)" identifier = (cast_expression "(undefined4 *)(puVar21 + -0x330)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x330)" ( (binary_expression "puVar21 + -0x330" identifier + number_literal) )))) ;) (expression_statement "puVar23 = puVar24;" (assignment_expression "puVar23 = puVar24" identifier = identifier) ;) (for_statement "for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }" for ( (assignment_expression "iVar12 = 0x20" identifier = number_literal) ; (binary_expression "iVar12 != 0" identifier != number_literal) ; (assignment_expression "iVar12 = iVar12 + -1" identifier = (binary_expression "iVar12 + -1" identifier + number_literal)) ) (compound_statement "{\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }" { (expression_statement "*puVar23 = 0;" (assignment_expression "*puVar23 = 0" (pointer_expression "*puVar23" * identifier) = number_literal) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -900) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 **)(puVar21 + -0x388) = puVar24;" (assignment_expression "*(undefined4 **)(puVar21 + -0x388) = puVar24" (pointer_expression "*(undefined4 **)(puVar21 + -0x388)" * (cast_expression "(undefined4 **)(puVar21 + -0x388)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar21 + -0x378) = puVar24;" (assignment_expression "*(undefined4 **)(puVar21 + -0x378) = puVar24" (pointer_expression "*(undefined4 **)(puVar21 + -0x378)" * (cast_expression "(undefined4 **)(puVar21 + -0x378)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ccd7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = FUN_000225e0();" (assignment_expression "iVar12 = FUN_000225e0()" identifier = (call_expression "FUN_000225e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }" { (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8b6" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d3f1" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cb8d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" * (cast_expression "(undefined4 *)(puVar21 + -0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" * (cast_expression "(undefined4 *)(puVar21 + -0x398)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" * (cast_expression "(undefined4 *)(puVar21 + -0x378)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" identifier = (pointer_expression "*(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(int *)(puVar21 + -0x378) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x378) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x39c) = iVar12 + 1;" (assignment_expression "*(int *)(puVar21 + -0x39c) = iVar12 + 1" (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" identifier = (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x39c)" * (cast_expression "(int *)(puVar21 + -0x39c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x398)" * (cast_expression "(fd_set **)(puVar21 + -0x398)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x394)" * (cast_expression "(fd_set **)(puVar21 + -0x394)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) , (pointer_expression "*(fd_set **)(puVar21 + -0x390)" * (cast_expression "(fd_set **)(puVar21 + -0x390)" ( (type_descriptor "fd_set **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) , (pointer_expression "*(timeval **)(puVar21 + -0x38c)" * (cast_expression "(timeval **)(puVar21 + -0x38c)" ( (type_descriptor "timeval **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar12) goto LAB_0001cdf2;" if (parenthesized_expression "(-1 < iVar12)" ( (binary_expression "-1 < iVar12" number_literal < identifier) )) (goto_statement "goto LAB_0001cdf2;" goto statement_identifier ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cd17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cd17" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" identifier = (pointer_expression "*piVar8" * identifier)) ;) (if_statement "if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" if (parenthesized_expression "(iVar12 != 4)" ( (binary_expression "iVar12 != 4" identifier != number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" { (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (labeled_statement "LAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc71;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc71" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -0x390) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -0x390) = pcVar15" (pointer_expression "*(char **)(puVar21 + -0x390)" * (cast_expression "(char **)(puVar21 + -0x390)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x394) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x394) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x394)" * (cast_expression "(int *)(puVar21 + -0x394)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x394)" ( (binary_expression "puVar21 + -0x394" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;" (assignment_expression "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552" (pointer_expression "*(int *)(puVar21 + -0x398)" * (cast_expression "(int *)(puVar21 + -0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x398)" ( (binary_expression "puVar21 + -0x398" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xf552" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x39c)" * (cast_expression "(undefined4 *)(puVar21 + -0x39c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x39c)" ( (binary_expression "puVar21 + -0x39c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x3a0)" ( (binary_expression "puVar21 + -0x3a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;" if (parenthesized_expression "(*(int *)(iVar9 + 0xb4) == 0x13)" ( (binary_expression "*(int *)(iVar9 + 0xb4) == 0x13" (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0001cb7f;" goto statement_identifier ;)) (goto_statement "goto LAB_0001cb5c;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -0x334) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x334) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x334)" * (cast_expression "(undefined4 *)(puVar21 + -0x334)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x334)" ( (binary_expression "puVar21 + -0x334" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x338)" * (cast_expression "(undefined4 *)(puVar21 + -0x338)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x338)" ( (binary_expression "puVar21 + -0x338" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -900) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar21 + -0x364)" * (cast_expression "(undefined4 *)(puVar21 + -0x364)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x364)" ( (binary_expression "puVar21 + -0x364" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cde7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cde7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" identifier (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" ( (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" * (cast_expression "(pollfd **)(puVar21 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" * (cast_expression "(nfds_t *)(puVar21 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }" if (parenthesized_expression "(-1 < iVar12)" ( (binary_expression "-1 < iVar12" number_literal < identifier) )) (compound_statement "{\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }" { (labeled_statement "LAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;" (assignment_expression "*(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344" (pointer_expression "*(undefined1 **)(puVar21 + -0x388)" * (cast_expression "(undefined1 **)(puVar21 + -0x388)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "puVar21 + -0x344" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" * (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ce0d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));" (call_expression "read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900))" identifier (argument_list "(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar21 + -0x388)" * (cast_expression "(void **)(puVar21 + -0x388)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -900)" * (cast_expression "(size_t *)(puVar21 + -900)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) ))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ca80;" goto statement_identifier ;) })) (labeled_statement "LAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;" statement_identifier : (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cb25;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cb25" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }" if (parenthesized_expression "(*piVar8 != 4)" ( (binary_expression "*piVar8 != 4" (pointer_expression "*piVar8" * identifier) != number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }" { (expression_statement "*(int *)(puVar21 + -0x38c) = *piVar8;" (assignment_expression "*(int *)(puVar21 + -0x38c) = *piVar8" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*piVar8" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb3b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -900) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -900) = pcVar15" (pointer_expression "*(char **)(puVar21 + -900)" * (cast_expression "(char **)(puVar21 + -900)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8d2" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb4e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) }))) (labeled_statement "LAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);" statement_identifier : (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xb4)" * (cast_expression "(int *)(iVar9 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xb4)" ( (binary_expression "iVar9 + 0xb4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0001ca80:\n    cVar17 = puVar21[-0x374];" statement_identifier : (expression_statement "cVar17 = puVar21[-0x374];" (assignment_expression "cVar17 = puVar21[-0x374]" identifier = (subscript_expression "puVar21[-0x374]" identifier [ number_literal ])) ;)) })) (if_statement "if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }" if (parenthesized_expression "(iVar12 != 0x13)" ( (binary_expression "iVar12 != 0x13" identifier != number_literal) )) (compound_statement "{\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }" { (labeled_statement "LAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" statement_identifier : (expression_statement "*(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" (assignment_expression "*(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (pointer_expression "*(uint *)(puVar21 + -0x388)" * (cast_expression "(uint *)(puVar21 + -0x388)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (parenthesized_expression "(-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe)" ( (binary_expression "-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe" (unary_expression "-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" - (call_expression "(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" ( (binary_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" * (cast_expression "(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xe0)" ( (binary_expression "*(int *)(puVar21 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )))) & number_literal) )) + number_literal)) ;)) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb7c" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000151b0();" (call_expression "FUN_000151b0()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;" statement_identifier : (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb8a" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00016b30();" (call_expression "FUN_00016b30()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" statement_identifier : (if_statement "if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" if (parenthesized_expression "(*(int *)(iVar9 + 0x24) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x24) != 0" (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" { (expression_statement "*(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);" (assignment_expression "*(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24)" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(int *)(iVar9 + 0x24)" * (cast_expression "(int *)(iVar9 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb9f" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_destroy_response();" (call_expression "MHD_destroy_response()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x24) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x24)" * (cast_expression "(undefined4 *)(iVar9 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x24)" ( (binary_expression "iVar9 + 0x24" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "iVar9 = *(int *)(iVar9 + 0xa4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0xa4)" identifier = (pointer_expression "*(int *)(iVar9 + 0xa4)" * (cast_expression "(int *)(iVar9 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xa4)" ( (binary_expression "iVar9 + 0xa4" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cbc1" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));" (call_expression "shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388))" identifier (argument_list "(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) ))) ;) })) (expression_statement "iVar9 = *(int *)(puVar21 + -0x37c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x37c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x37c)" * (cast_expression "(int *)(puVar21 + -0x37c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(iVar9 + 0xdc);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xdc)" identifier = (pointer_expression "*(int *)(iVar9 + 0xdc)" * (cast_expression "(int *)(iVar9 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar21 + -900)" * (cast_expression "(undefined4 *)(puVar21 + -900)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xffca" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc2c" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));" (assignment_expression "sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" identifier = (call_expression "write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" identifier (argument_list "(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(void **)(puVar21 + -0x388)" * (cast_expression "(void **)(puVar21 + -0x388)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar21 + -900)" * (cast_expression "(size_t *)(puVar21 + -900)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }" if (parenthesized_expression "(sVar13 < 1)" ( (binary_expression "sVar13 < 1" identifier < number_literal) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cc38;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cc38" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }" if (parenthesized_expression "(*piVar8 != 0xb)" ( (binary_expression "*piVar8 != 0xb" (pointer_expression "*piVar8" * identifier) != number_literal) )) (compound_statement "{\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }" { (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xf572" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc4d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) })) })) })) (labeled_statement "LAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" statement_identifier : (if_statement "if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" if (parenthesized_expression "(*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar21 + -0x30)" * (cast_expression "(int *)(puVar21 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x30)" ( (binary_expression "puVar21 + -0x30" identifier + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d428;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d428" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) (while_statement "while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d316;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d316" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*piVar14 != 4) break;" if (parenthesized_expression "(*piVar14 != 4)" ( (binary_expression "*piVar14 != 4" (pointer_expression "*piVar14" * identifier) != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001d229:\n    uVar1 = piVar8[8];" statement_identifier : (expression_statement "uVar1 = piVar8[8];" (assignment_expression "uVar1 = piVar8[8]" identifier = (subscript_expression "piVar8[8]" identifier [ number_literal ])) ;)) (expression_statement "uVar4 = piVar8[9];" (assignment_expression "uVar4 = piVar8[9]" identifier = (subscript_expression "piVar8[9]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = piVar8[10];" (assignment_expression "uVar5 = piVar8[10]" identifier = (subscript_expression "piVar8[10]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = piVar8[0xb];" (assignment_expression "uVar6 = piVar8[0xb]" identifier = (subscript_expression "piVar8[0xb]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }" { (if_statement "if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }" if (parenthesized_expression "((uVar5 == 0 && uVar4 == 0) && uVar6 == 0)" ( (binary_expression "(uVar5 == 0 && uVar4 == 0) && uVar6 == 0" (parenthesized_expression "(uVar5 == 0 && uVar4 == 0)" ( (binary_expression "uVar5 == 0 && uVar4 == 0" (binary_expression "uVar5 == 0" identifier == number_literal) && (binary_expression "uVar4 == 0" identifier == number_literal)) )) && (binary_expression "uVar6 == 0" identifier == number_literal)) )) (compound_statement "{\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }" { (expression_statement "iVar9 = *(int *)(puVar21 + -0x378);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x378)" identifier = (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001ceb0;" goto statement_identifier ;) })) (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" * (cast_expression "(undefined2 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) }) (else_clause "else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" else (compound_statement "{\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" { (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" * (cast_expression "(undefined2 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" if (parenthesized_expression "(uVar5 < uVar1)" ( (binary_expression "uVar5 < uVar1" identifier < identifier) )) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 1;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 1" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 3;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 3" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 7;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 7" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" identifier = number_literal) ;) }) (else_clause "else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" else (compound_statement "{\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" identifier = number_literal) ;) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = number_literal) ;) }))) }))) (if_statement "if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }" { (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) != 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0001d28f;" goto statement_identifier ;)) (if_statement "if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }" if (parenthesized_expression "(uVar1 != 0 || uVar4 != 0)" ( (binary_expression "uVar1 != 0 || uVar4 != 0" (binary_expression "uVar1 != 0" identifier != number_literal) || (binary_expression "uVar4 != 0" identifier != number_literal)) )) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374)" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" * (cast_expression "(undefined2 *)(puVar21 + -0x374)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x374)" ( (binary_expression "puVar21 + -0x374" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001d377;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" else (compound_statement "{\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" { (expression_statement "*(undefined2 *)(puVar21 + -0xac) = uVar22;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = uVar22" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }" if (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" ( (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" * (cast_expression "(byte *)(piVar8 + 0xe)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0xe)" ( (binary_expression "piVar8 + 0xe" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }" { (labeled_statement "LAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);" statement_identifier : (expression_statement "*(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" * (cast_expression "(undefined2 *)(puVar21 + -0xac)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xac)" ( (binary_expression "puVar21 + -0xac" identifier + number_literal) )))) = (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" * (cast_expression "(undefined2 *)(puVar21 + -0x37c)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) ))))) ;)) })) (labeled_statement "LAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" statement_identifier : (if_statement "if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" if (parenthesized_expression "(uVar6 < uVar4)" ( (binary_expression "uVar6 < uVar4" identifier < identifier) )) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" { (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 1;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 1" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" * (cast_expression "(undefined2 *)(puVar21 + -0xa4)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = number_literal) ;) }))) }))) (expression_statement "uVar6 = piVar8[0x11];" (assignment_expression "uVar6 = piVar8[0x11]" identifier = (subscript_expression "piVar8[0x11]" identifier [ number_literal ])) ;) (if_statement "if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" if (parenthesized_expression "(uVar5 == 0)" ( (binary_expression "uVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }" { (if_statement "if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }" if (parenthesized_expression "(((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0))" ( (binary_expression "((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)" (parenthesized_expression "((uVar6 & 0x80) == 0)" ( (binary_expression "(uVar6 & 0x80) == 0" (parenthesized_expression "(uVar6 & 0x80)" ( (binary_expression "uVar6 & 0x80" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar4 != 0 || uVar1 != 0)" ( (binary_expression "uVar4 != 0 || uVar1 != 0" (binary_expression "uVar4 != 0" identifier != number_literal) || (binary_expression "uVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }" { (expression_statement "uVar19 = *(ushort *)(puVar21 + -0xa4);" (assignment_expression "uVar19 = *(ushort *)(puVar21 + -0xa4)" identifier = (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0001d2c8;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" else (compound_statement "{\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" { (expression_statement "uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;" (assignment_expression "uVar19 = *(ushort *)(puVar21 + -0xa4) | 4" identifier = (binary_expression "*(ushort *)(puVar21 + -0xa4) | 4" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "*(ushort *)(puVar21 + -0xa4) = uVar19;" (assignment_expression "*(ushort *)(puVar21 + -0xa4) = uVar19" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }" if (parenthesized_expression "((uVar6 & 0x80) == 0)" ( (binary_expression "(uVar6 & 0x80) == 0" (parenthesized_expression "(uVar6 & 0x80)" ( (binary_expression "uVar6 & 0x80" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }" { (labeled_statement "LAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;" statement_identifier : (expression_statement "*(ushort *)(puVar21 + -0xa4) = uVar19 | 2;" (assignment_expression "*(ushort *)(puVar21 + -0xa4) = uVar19 | 2" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" * (cast_expression "(ushort *)(puVar21 + -0xa4)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0xa4)" ( (binary_expression "puVar21 + -0xa4" identifier + number_literal) )))) = (binary_expression "uVar19 | 2" identifier | number_literal)) ;)) })) }))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x378);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x378)" identifier = (pointer_expression "*(int *)(puVar21 + -0x378)" * (cast_expression "(int *)(puVar21 + -0x378)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x378)" ( (binary_expression "puVar21 + -0x378" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);" (assignment_expression "*(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (pointer_expression "*(uint *)(puVar21 + -900)" * (cast_expression "(uint *)(puVar21 + -900)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = (unary_expression "-(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" - (call_expression "(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" ( (binary_expression "uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1" (binary_expression "uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0)" (binary_expression "uVar5 < uVar1" identifier < identifier) & (pointer_expression "*(byte *)(iVar9 + 0xf0)" * (cast_expression "(byte *)(iVar9 + 0xf0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xf0)" ( (binary_expression "iVar9 + 0xf0" identifier + number_literal) ))))) ^ number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 2" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" * (cast_expression "(undefined4 *)(puVar21 + -0x388)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x38c)" * (cast_expression "(undefined1 **)(puVar21 + -0x38c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0xb0" identifier + number_literal)) ;) (expression_statement "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x37c)" * (cast_expression "(undefined1 **)(puVar21 + -0x37c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x37c)" ( (binary_expression "puVar21 + -0x37c" identifier + number_literal) )))) = (binary_expression "puVar21 + -0xb0" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d303;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d303" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" identifier = (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" identifier (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" ( (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" * (cast_expression "(pollfd **)(puVar21 + -0x38c)" ( (type_descriptor "pollfd **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) , (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" * (cast_expression "(nfds_t *)(puVar21 + -0x388)" ( (type_descriptor "nfds_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) , (pointer_expression "*(int *)(puVar21 + -900)" * (cast_expression "(int *)(puVar21 + -900)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) )))) ;) (if_statement "if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }" if (parenthesized_expression "(-1 < iVar12)" ( (binary_expression "-1 < iVar12" number_literal < identifier) )) (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }" { (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d3d5" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018fb0();" (call_expression "FUN_00018fb0()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d3da;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d3da" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" * (cast_expression "(undefined4 *)(puVar21 + -0x380)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x380)" ( (binary_expression "puVar21 + -0x380" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00019710();" (call_expression "FUN_00019710()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001d229;" goto statement_identifier ;) })) })) (expression_statement "*(int *)(puVar21 + -0x38c) = *piVar14;" (assignment_expression "*(int *)(puVar21 + -0x38c) = *piVar14" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d32a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d32a" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" identifier = (call_expression "strerror(*(int *)(puVar21 + -0x38c))" identifier (argument_list "(*(int *)(puVar21 + -0x38c))" ( (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar21 + -900) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -900) = pcVar15" (pointer_expression "*(char **)(puVar21 + -900)" * (cast_expression "(char **)(puVar21 + -900)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + -900)" ( (binary_expression "puVar21 + -900" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2" (pointer_expression "*(int *)(puVar21 + -0x388)" * (cast_expression "(int *)(puVar21 + -0x388)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x388)" ( (binary_expression "puVar21 + -0x388" identifier + number_literal) )))) = (binary_expression "(int)unaff_EBP + 0xe8d2" (cast_expression "(int)unaff_EBP" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" * (cast_expression "(undefined4 *)(puVar21 + -0x38c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" * (cast_expression "(undefined4 *)(iVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x18)" ( (binary_expression "iVar9 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d33d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d33d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;" statement_identifier : (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cebb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cebb" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00015540();" (call_expression "FUN_00015540()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;" (assignment_expression "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1" (pointer_expression "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51)" * (cast_expression "(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0xdc) + 0x51)" ( (binary_expression "*(int *)(iVar9 + 0xdc) + 0x51" (pointer_expression "*(int *)(iVar9 + 0xdc)" * (cast_expression "(int *)(iVar9 + 0xdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xdc)" ( (binary_expression "iVar9 + 0xdc" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" * (cast_expression "(int *)(puVar21 + -0x38c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x38c)" ( (binary_expression "puVar21 + -0x38c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cecd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cecd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" * (cast_expression "(undefined4 *)(puVar21 + -0x390)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x390)" ( (binary_expression "puVar21 + -0x390" identifier + number_literal) )))) = number_literal) ;) (expression_statement "MHD_resume_connection();" (call_expression "MHD_resume_connection()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0001cbd2;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & 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 (field_expression IDENT . field_identifier) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' 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 IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (pointer_expression & IDENT) , LIT ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT)) ))) )) (compound_statement { (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) })) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 (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 * (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) )))) = (string_literal " string_content ")) ;) (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 * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 ( ))) ;) })) (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 ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) && (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (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) ;) }) (else_clause else (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) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)))))))) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < 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) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })) (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) )) (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 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) )))) ;) (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) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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) = IDENT) ;) (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 IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) & LIT) )) - (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) & LIT) )))) )) != LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) & LIT) )) - (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) & LIT) )))) )) != LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (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 IDENT + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) || (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 * (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) )))) ;) (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 IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 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 (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (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 IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 ;)) })) (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 ;)) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ 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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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 ]) = (binary_expression IDENT != LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ 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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) })))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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) )))) = 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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 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 ( ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 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 ( ))) ;) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) (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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression 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 IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 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 ( ))) ;) (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 ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (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) )))) = (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (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) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (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) ))))) ;) (break_statement break ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )))) & LIT) )) + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_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 IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;)) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (unary_expression - (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (binary_expression (binary_expression IDENT < IDENT) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ^ LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "int * MHD_suspend_connection(int param_1)\n\n{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}" (primitive_type "int") (pointer_declarator "* MHD_suspend_connection(int param_1)" (* "*") (function_declarator "MHD_suspend_connection(int param_1)" (identifier "MHD_suspend_connection") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")")))) (compound_statement "{\n  uint uVar1;\n  undefined4 uVar2;\n  code *pcVar3;\n  uint uVar4;\n  uint uVar5;\n  uint uVar6;\n  byte bVar7;\n  int *piVar8;\n  int iVar9;\n  pthread_t pVar10;\n  int iVar11;\n  int iVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar16;\n  char cVar17;\n  undefined1 *puVar18;\n  ushort uVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  pthread_mutex_t *unaff_EBP;\n  undefined2 uVar22;\n  undefined4 *puVar23;\n  undefined4 *puVar24;\n  int in_GS_OFFSET;\n  int aiStackY_3f8 [9];\n  int aiStackY_3d4 [2];\n  byte abStackY_3cc [4];\n  uint auStackY_3c8 [15];\n  undefined4 uStackY_38c;\n  undefined4 uStackY_108;\n  int aiStackY_104 [2];\n  ushort auStackY_fc [58];\n  int aiStackY_88 [16];\n  undefined1 auStack_38 [8];\n  undefined4 uStack_30;\n  undefined **ppuStack_2c;\n  \n  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }\n  (*DAT_0003506c)();\n  uVar2 = s_Close_socket_failed__0002b058._4_4_;\n  uStack_30 = 0x1c719;\n  ppuStack_2c = &__DT_PLTGOT;\n  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }\n  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";\n  *(undefined4 *)(puVar21 + -8) = 0xb01;\n  *(char **)(puVar21 + -0xc) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;\n  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;\n  (*DAT_0003506c)();\n  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;\n  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;\n  FUN_000215a2();\n  *(char **)(puVar21 + -0x18) = "daemon.c";\n  *(undefined4 *)(puVar21 + -0x1c) = uVar2;\n  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;\n  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar9 = *(int *)(puVar21 + -0xc);\n  iVar12 = *(int *)(iVar9 + 0x18);\n  *(int *)(puVar21 + -0x37c) = iVar12;\n  uVar1 = *(uint *)(iVar12 + 0xf8);\n  *(uint *)(puVar21 + -0x378) = uVar1;\n  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;\n  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;\n  pVar10 = pthread_self();\n  cVar17 = '\0';\n  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;\n  *(pthread_t *)(iVar9 + 0x5c) = pVar10;\n  iVar12 = *(int *)(iVar9 + 0xb4);\n  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }\n  if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }\nLAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;\n  FUN_00016b30();\nLAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }\n  iVar9 = *(int *)(iVar9 + 0xa4);\n  if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }\n  iVar9 = *(int *)(puVar21 + -0x37c);\n  iVar12 = *(int *)(iVar9 + 0xdc);\n  if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }\nLAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }\n  return (int *)0x0;\n  while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }\n  *(int *)(puVar21 + -0x38c) = *piVar14;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;\n  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n  *(char **)(puVar21 + -900) = pcVar15;\n  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;\n  FUN_000215b0();\nLAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;\n  FUN_00015540();\n  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;\n  *(int *)(puVar21 + -0x38c) = iVar9;\n  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;\n  MHD_resume_connection();\n  goto LAB_0001cbd2;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "byte bVar7;" (type_identifier "byte") (identifier "bVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "pthread_t pVar10;" (type_identifier "pthread_t") (identifier "pVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "ssize_t sVar13;" (primitive_type "ssize_t") (identifier "sVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "char cVar17;" (primitive_type "char") (identifier "cVar17") (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "ushort uVar19;" (type_identifier "ushort") (identifier "uVar19") (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "pthread_mutex_t *unaff_EBP;" (type_identifier "pthread_mutex_t") (pointer_declarator "*unaff_EBP" (* "*") (identifier "unaff_EBP")) (; ";")) (declaration "undefined2 uVar22;" (type_identifier "undefined2") (identifier "uVar22") (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "int aiStackY_3f8 [9];" (primitive_type "int") (array_declarator "aiStackY_3f8 [9]" (identifier "aiStackY_3f8") ([ "[") (number_literal "9") (] "]")) (; ";")) (declaration "int aiStackY_3d4 [2];" (primitive_type "int") (array_declarator "aiStackY_3d4 [2]" (identifier "aiStackY_3d4") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "byte abStackY_3cc [4];" (type_identifier "byte") (array_declarator "abStackY_3cc [4]" (identifier "abStackY_3cc") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint auStackY_3c8 [15];" (type_identifier "uint") (array_declarator "auStackY_3c8 [15]" (identifier "auStackY_3c8") ([ "[") (number_literal "15") (] "]")) (; ";")) (declaration "undefined4 uStackY_38c;" (type_identifier "undefined4") (identifier "uStackY_38c") (; ";")) (declaration "undefined4 uStackY_108;" (type_identifier "undefined4") (identifier "uStackY_108") (; ";")) (declaration "int aiStackY_104 [2];" (primitive_type "int") (array_declarator "aiStackY_104 [2]" (identifier "aiStackY_104") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "ushort auStackY_fc [58];" (type_identifier "ushort") (array_declarator "auStackY_fc [58]" (identifier "auStackY_fc") ([ "[") (number_literal "58") (] "]")) (; ";")) (declaration "int aiStackY_88 [16];" (primitive_type "int") (array_declarator "aiStackY_88 [16]" (identifier "aiStackY_88") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 auStack_38 [8];" (type_identifier "undefined1") (array_declarator "auStack_38 [8]" (identifier "auStack_38") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 uStack_30;" (type_identifier "undefined4") (identifier "uStack_30") (; ";")) (declaration "undefined **ppuStack_2c;" (type_identifier "undefined") (pointer_declarator "**ppuStack_2c" (* "*") (pointer_declarator "*ppuStack_2c" (* "*") (identifier "ppuStack_2c"))) (; ";")) (if_statement "if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }" (if "if") (parenthesized_expression "((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0" (parenthesized_expression "(*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20)" (( "(") (binary_expression "*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20" (pointer_expression "*(byte *)(*(int *)(param_1 + 0x18) + 0xf9)" (* "*") (cast_expression "(byte *)(*(int *)(param_1 + 0x18) + 0xf9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x18) + 0xf9)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) + 0xf9" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0xf9")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }\n    piVar8 = (int *)FUN_000215b0();\n    return piVar8;\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0xdc) == 0) {\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0xdc) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xdc) == 0" (pointer_expression "*(int *)(param_1 + 0xdc)" (* "*") (cast_expression "(int *)(param_1 + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xdc)" (( "(") (binary_expression "param_1 + 0xdc" (identifier "param_1") (+ "+") (number_literal "0xdc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar8 = (int *)FUN_0001c3e0();\n      return piVar8;\n    }" ({ "{") (expression_statement "piVar8 = (int *)FUN_0001c3e0();" (assignment_expression "piVar8 = (int *)FUN_0001c3e0()" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_0001c3e0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0001c3e0()" (identifier "FUN_0001c3e0") (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar8;" (return "return") (identifier "piVar8") (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)FUN_000215b0();" (assignment_expression "piVar8 = (int *)FUN_000215b0()" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_000215b0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))))) (; ";")) (return_statement "return piVar8;" (return "return") (identifier "piVar8") (; ";")) (} "}"))) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" (( "(") (pointer_expression "*DAT_0003506c" (* "*") (identifier "DAT_0003506c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar2 = s_Close_socket_failed__0002b058._4_4_;" (assignment_expression "uVar2 = s_Close_socket_failed__0002b058._4_4_" (identifier "uVar2") (= "=") (field_expression "s_Close_socket_failed__0002b058._4_4_" (identifier "s_Close_socket_failed__0002b058") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "uStack_30 = 0x1c719;" (assignment_expression "uStack_30 = 0x1c719" (identifier "uStack_30") (= "=") (number_literal "0x1c719")) (; ";")) (expression_statement "ppuStack_2c = &__DT_PLTGOT;" (assignment_expression "ppuStack_2c = &__DT_PLTGOT" (identifier "ppuStack_2c") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (if_statement "if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }\n  else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" (if "if") (parenthesized_expression "((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0" (parenthesized_expression "(*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20)" (( "(") (binary_expression "*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20" (pointer_expression "*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" (* "*") (cast_expression "(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(s_Close_socket_failed__0002b058._4_4_ + 0xf9)" (( "(") (binary_expression "s_Close_socket_failed__0002b058._4_4_ + 0xf9" (field_expression "s_Close_socket_failed__0002b058._4_4_" (identifier "s_Close_socket_failed__0002b058") (. ".") (field_identifier "_4_4_")) (+ "+") (number_literal "0xf9")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar20 = &stack0xffffffb8;\n    (*DAT_0003506c)();\nLAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";\n    *(undefined4 *)(puVar20 + -8) = 0xb06;\n    *(char **)(puVar20 + -0xc) = "daemon.c";\n    puVar21 = puVar20 + -0x10;\n    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;\n    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;\n    (*DAT_0003506c)();\n  }" ({ "{") (expression_statement "puVar20 = &stack0xffffffb8;" (assignment_expression "puVar20 = &stack0xffffffb8" (identifier "puVar20") (= "=") (pointer_expression "&stack0xffffffb8" (& "&") (identifier "stack0xffffffb8"))) (; ";")) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" (( "(") (pointer_expression "*DAT_0003506c" (* "*") (identifier "DAT_0003506c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001c7df:\n    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";" (statement_identifier "LAB_0001c7df") (: ":") (expression_statement "*(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";" (assignment_expression "*(char **)(puVar20 + -4) = "Failed to unlock mutex.\n"" (pointer_expression "*(char **)(puVar20 + -4)" (* "*") (cast_expression "(char **)(puVar20 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -4)" (( "(") (binary_expression "puVar20 + -4" (identifier "puVar20") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to unlock mutex.\n"" (" """) (string_content "Failed to unlock mutex.") (escape_sequence "\n") (" """))) (; ";"))) (expression_statement "*(undefined4 *)(puVar20 + -8) = 0xb06;" (assignment_expression "*(undefined4 *)(puVar20 + -8) = 0xb06" (pointer_expression "*(undefined4 *)(puVar20 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -8)" (( "(") (binary_expression "puVar20 + -8" (identifier "puVar20") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xb06")) (; ";")) (expression_statement "*(char **)(puVar20 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar20 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar20 + -0xc)" (* "*") (cast_expression "(char **)(puVar20 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar20 + -0xc)" (( "(") (binary_expression "puVar20 + -0xc" (identifier "puVar20") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "puVar21 = puVar20 + -0x10;" (assignment_expression "puVar21 = puVar20 + -0x10" (identifier "puVar21") (= "=") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar20 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar20 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x10)" (( "(") (binary_expression "puVar20 + -0x10" (identifier "puVar20") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00035068")) (; ";")) (expression_statement "*(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;" (assignment_expression "*(undefined4 *)(puVar20 + -0x14) = 0x1c7fe" (pointer_expression "*(undefined4 *)(puVar20 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar20 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar20 + -0x14)" (( "(") (binary_expression "puVar20 + -0x14" (identifier "puVar20") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c7fe")) (; ";")) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" (( "(") (pointer_expression "*DAT_0003506c" (* "*") (identifier "DAT_0003506c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" (else "else") (compound_statement "{\n    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);\n    iVar9 = pthread_mutex_lock(unaff_EBP);\n    puVar21 = auStack_38;\n    if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }\n  }" ({ "{") (expression_statement "unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);" (assignment_expression "unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac)" (identifier "unaff_EBP") (= "=") (cast_expression "(pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac)" (( "(") (type_descriptor "pthread_mutex_t *" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(s_Close_socket_failed__0002b058._4_4_ + 0xac)" (( "(") (binary_expression "s_Close_socket_failed__0002b058._4_4_ + 0xac" (field_expression "s_Close_socket_failed__0002b058._4_4_" (identifier "s_Close_socket_failed__0002b058") (. ".") (field_identifier "_4_4_")) (+ "+") (number_literal "0xac")) () ")")))) (; ";")) (expression_statement "iVar9 = pthread_mutex_lock(unaff_EBP);" (assignment_expression "iVar9 = pthread_mutex_lock(unaff_EBP)" (identifier "iVar9") (= "=") (call_expression "pthread_mutex_lock(unaff_EBP)" (identifier "pthread_mutex_lock") (argument_list "(unaff_EBP)" (( "(") (identifier "unaff_EBP") () ")")))) (; ";")) (expression_statement "puVar21 = auStack_38;" (assignment_expression "puVar21 = auStack_38" (identifier "puVar21") (= "=") (identifier "auStack_38")) (; ";")) (if_statement "if (iVar9 == 0) {\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      s_select_failed___s_0002b135[7] = '\x01';\n      *(undefined1 *)(uVar2 + 0xe3) = 1;\n      iVar9 = pthread_mutex_unlock(unaff_EBP);\n      puVar20 = auStack_38;\n      if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }\n      goto LAB_0001c7df;\n    }" ({ "{") (expression_statement "s_select_failed___s_0002b135[7] = '\x01';" (assignment_expression "s_select_failed___s_0002b135[7] = '\x01'" (subscript_expression "s_select_failed___s_0002b135[7]" (identifier "s_select_failed___s_0002b135") ([ "[") (number_literal "7") (] "]")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (expression_statement "*(undefined1 *)(uVar2 + 0xe3) = 1;" (assignment_expression "*(undefined1 *)(uVar2 + 0xe3) = 1" (pointer_expression "*(undefined1 *)(uVar2 + 0xe3)" (* "*") (cast_expression "(undefined1 *)(uVar2 + 0xe3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar2 + 0xe3)" (( "(") (binary_expression "uVar2 + 0xe3" (identifier "uVar2") (+ "+") (number_literal "0xe3")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar9 = pthread_mutex_unlock(unaff_EBP);" (assignment_expression "iVar9 = pthread_mutex_unlock(unaff_EBP)" (identifier "iVar9") (= "=") (call_expression "pthread_mutex_unlock(unaff_EBP)" (identifier "pthread_mutex_unlock") (argument_list "(unaff_EBP)" (( "(") (identifier "unaff_EBP") () ")")))) (; ";")) (expression_statement "puVar20 = auStack_38;" (assignment_expression "puVar20 = auStack_38" (identifier "puVar20") (= "=") (identifier "auStack_38")) (; ";")) (if_statement "if (iVar9 == 0) {\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piVar8 = *(int **)(uVar2 + 0xdc);\n        if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }\n        return piVar8;\n      }" ({ "{") (expression_statement "piVar8 = *(int **)(uVar2 + 0xdc);" (assignment_expression "piVar8 = *(int **)(uVar2 + 0xdc)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(uVar2 + 0xdc)" (* "*") (cast_expression "(int **)(uVar2 + 0xdc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar2 + 0xdc)" (( "(") (binary_expression "uVar2 + 0xdc" (identifier "uVar2") (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (if_statement "if ((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }" (if "if") (parenthesized_expression "((piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1))" (( "(") (binary_expression "(piVar8 != (int *)0xffffffff) &&\n           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)" (parenthesized_expression "(piVar8 != (int *)0xffffffff)" (( "(") (binary_expression "piVar8 != (int *)0xffffffff" (identifier "piVar8") (!= "!=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (&& "&&") (parenthesized_expression "(piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)" (( "(") (comma_expression "piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1" (assignment_expression "piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8)" (identifier "piVar8") (= "=") (cast_expression "(int *)write((int)piVar8,&DAT_0002c7f0,8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "write((int)piVar8,&DAT_0002c7f0,8)" (identifier "write") (argument_list "((int)piVar8,&DAT_0002c7f0,8)" (( "(") (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (, ",") (pointer_expression "&DAT_0002c7f0" (& "&") (identifier "DAT_0002c7f0")) (, ",") (number_literal "8") () ")"))))) (, ",") (binary_expression "(int)piVar8 < 1" (cast_expression "(int)piVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar8")) (< "<") (number_literal "1"))) () ")"))) () ")")) (compound_statement "{\n          piVar8 = __errno_location();\n          if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }\n        }" ({ "{") (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar8 != 0xb) {\n            piVar8 = (int *)FUN_000215b0();\n          }" (if "if") (parenthesized_expression "(*piVar8 != 0xb)" (( "(") (binary_expression "*piVar8 != 0xb" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (!= "!=") (number_literal "0xb")) () ")")) (compound_statement "{\n            piVar8 = (int *)FUN_000215b0();\n          }" ({ "{") (expression_statement "piVar8 = (int *)FUN_000215b0();" (assignment_expression "piVar8 = (int *)FUN_000215b0()" (identifier "piVar8") (= "=") (cast_expression "(int *)FUN_000215b0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}"))) (} "}"))) (return_statement "return piVar8;" (return "return") (identifier "piVar8") (; ";")) (} "}"))) (goto_statement "goto LAB_0001c7df;" (goto "goto") (statement_identifier "LAB_0001c7df") (; ";")) (} "}"))) (} "}")))) (expression_statement "*(char **)(puVar21 + -4) = "Failed to lock mutex.\n";" (assignment_expression "*(char **)(puVar21 + -4) = "Failed to lock mutex.\n"" (pointer_expression "*(char **)(puVar21 + -4)" (* "*") (cast_expression "(char **)(puVar21 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -4)" (( "(") (binary_expression "puVar21 + -4" (identifier "puVar21") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Failed to lock mutex.\n"" (" """) (string_content "Failed to lock mutex.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -8) = 0xb01;" (assignment_expression "*(undefined4 *)(puVar21 + -8) = 0xb01" (pointer_expression "*(undefined4 *)(puVar21 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -8)" (( "(") (binary_expression "puVar21 + -8" (identifier "puVar21") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0xb01")) (; ";")) (expression_statement "*(char **)(puVar21 + -0xc) = "daemon.c";" (assignment_expression "*(char **)(puVar21 + -0xc) = "daemon.c"" (pointer_expression "*(char **)(puVar21 + -0xc)" (* "*") (cast_expression "(char **)(puVar21 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x10) = DAT_00035068;" (assignment_expression "*(undefined4 *)(puVar21 + -0x10) = DAT_00035068" (pointer_expression "*(undefined4 *)(puVar21 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x10)" (( "(") (binary_expression "puVar21 + -0x10" (identifier "puVar21") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "DAT_00035068")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x14) = 0x1c81d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x14) = 0x1c81d" (pointer_expression "*(undefined4 *)(puVar21 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x1c81d")) (; ";")) (expression_statement "(*DAT_0003506c)();" (call_expression "(*DAT_0003506c)()" (parenthesized_expression "(*DAT_0003506c)" (( "(") (pointer_expression "*DAT_0003506c" (* "*") (identifier "DAT_0003506c")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;" (assignment_expression "*(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP" (pointer_expression "*(pthread_mutex_t **)(puVar21 + -0x14)" (* "*") (cast_expression "(pthread_mutex_t **)(puVar21 + -0x14)" (( "(") (type_descriptor "pthread_mutex_t **" (type_identifier "pthread_mutex_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x14)" (( "(") (binary_expression "puVar21 + -0x14" (identifier "puVar21") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "unaff_EBP")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x18) = 0x1c826;" (assignment_expression "*(undefined4 *)(puVar21 + -0x18) = 0x1c826" (pointer_expression "*(undefined4 *)(puVar21 + -0x18)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x18)" (( "(") (binary_expression "puVar21 + -0x18" (identifier "puVar21") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x1c826")) (; ";")) (expression_statement "FUN_000215a2();" (call_expression "FUN_000215a2()" (identifier "FUN_000215a2") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(char **)(puVar21 + -0x18) = "daemon.c";" (assignment_expression "*(char **)(puVar21 + -0x18) = "daemon.c"" (pointer_expression "*(char **)(puVar21 + -0x18)" (* "*") (cast_expression "(char **)(puVar21 + -0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x18)" (( "(") (binary_expression "puVar21 + -0x18" (identifier "puVar21") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (string_literal ""daemon.c"" (" """) (string_content "daemon.c") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x1c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x1c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x1c)" (( "(") (binary_expression "puVar21 + -0x1c" (identifier "puVar21") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;" (assignment_expression "*(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT" (pointer_expression "*(undefined ***)(puVar21 + -0x20)" (* "*") (cast_expression "(undefined ***)(puVar21 + -0x20)" (( "(") (type_descriptor "undefined ***" (type_identifier "undefined") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar21 + -0x20)" (( "(") (binary_expression "puVar21 + -0x20" (identifier "puVar21") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "*(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(undefined4 *)(puVar21 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x30)" (( "(") (binary_expression "puVar21 + -0x30" (identifier "puVar21") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar21 + -0xc);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0xc)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0xc)" (* "*") (cast_expression "(int *)(puVar21 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xc)" (( "(") (binary_expression "puVar21 + -0xc" (identifier "puVar21") (+ "+") (number_literal "-0xc")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0x18);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0x18)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x37c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x37c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "uVar1 = *(uint *)(iVar12 + 0xf8);" (assignment_expression "uVar1 = *(uint *)(iVar12 + 0xf8)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(iVar12 + 0xf8)" (* "*") (cast_expression "(uint *)(iVar12 + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xf8)" (( "(") (binary_expression "iVar12 + 0xf8" (identifier "iVar12") (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar21 + -0x378) = uVar1;" (assignment_expression "*(uint *)(puVar21 + -0x378) = uVar1" (pointer_expression "*(uint *)(puVar21 + -0x378)" (* "*") (cast_expression "(uint *)(puVar21 + -0x378)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*(uint *)(puVar21 + -0x370) = uVar1 & 0x40;" (assignment_expression "*(uint *)(puVar21 + -0x370) = uVar1 & 0x40" (pointer_expression "*(uint *)(puVar21 + -0x370)" (* "*") (cast_expression "(uint *)(puVar21 + -0x370)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x370)" (( "(") (binary_expression "puVar21 + -0x370" (identifier "puVar21") (+ "+") (number_literal "-0x370")) () ")")))) (= "=") (binary_expression "uVar1 & 0x40" (identifier "uVar1") (& "&") (number_literal "0x40"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1c869;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1c869" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1c869")) (; ";")) (expression_statement "pVar10 = pthread_self();" (assignment_expression "pVar10 = pthread_self()" (identifier "pVar10") (= "=") (call_expression "pthread_self()" (identifier "pthread_self") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "cVar17 = '\0';" (assignment_expression "cVar17 = '\0'" (identifier "cVar17") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;" (assignment_expression "*(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338" (pointer_expression "*(undefined1 **)(puVar21 + -0x364)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x364)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x364)" (( "(") (binary_expression "puVar21 + -0x364" (identifier "puVar21") (+ "+") (number_literal "-0x364")) () ")")))) (= "=") (binary_expression "puVar21 + -0x338" (identifier "puVar21") (+ "+") (number_literal "-0x338"))) (; ";")) (expression_statement "*(pthread_t *)(iVar9 + 0x5c) = pVar10;" (assignment_expression "*(pthread_t *)(iVar9 + 0x5c) = pVar10" (pointer_expression "*(pthread_t *)(iVar9 + 0x5c)" (* "*") (cast_expression "(pthread_t *)(iVar9 + 0x5c)" (( "(") (type_descriptor "pthread_t *" (type_identifier "pthread_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x5c)" (( "(") (binary_expression "iVar9 + 0x5c" (identifier "iVar9") (+ "+") (number_literal "0x5c")) () ")")))) (= "=") (identifier "pVar10")) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb4)" (* "*") (cast_expression "(int *)(iVar9 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb4)" (( "(") (binary_expression "iVar9 + 0xb4" (identifier "iVar9") (+ "+") (number_literal "0xb4")) () ")"))))) (; ";")) (while_statement "while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }" (while "while") (parenthesized_expression "(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" (* "*") (cast_expression "(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xe0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xe0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (iVar12 == 0x13) goto LAB_0001cb7f;\n    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);\n    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);\n    puVar21[-0x374] = bVar7;\n    if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }\n    if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }\nLAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);\nLAB_0001ca80:\n    cVar17 = puVar21[-0x374];\n  }" ({ "{") (if_statement "if (iVar12 == 0x13) goto LAB_0001cb7f;" (if "if") (parenthesized_expression "(iVar12 == 0x13)" (( "(") (binary_expression "iVar12 == 0x13" (identifier "iVar12") (== "==") (number_literal "0x13")) () ")")) (goto_statement "goto LAB_0001cb7f;" (goto "goto") (statement_identifier "LAB_0001cb7f") (; ";"))) (expression_statement "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);" (assignment_expression "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" (* "*") (cast_expression "(int *)(*(int *)(puVar21 + -0x37c) + 0xf0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xf0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xf0" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xf0")) () ")"))))) (; ";")) (expression_statement "bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);" (assignment_expression "bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1)" (identifier "bVar7") (= "=") (binary_expression "*(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1)" (binary_expression "*(int *)(iVar9 + 0xdc) == 0" (pointer_expression "*(int *)(iVar9 + 0xdc)" (* "*") (cast_expression "(int *)(iVar9 + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xdc)" (( "(") (binary_expression "iVar9 + 0xdc" (identifier "iVar9") (+ "+") (number_literal "0xdc")) () ")")))) (== "==") (number_literal "0")) (& "&") (pointer_expression "*(byte *)(iVar9 + 0xf1)" (* "*") (cast_expression "(byte *)(iVar9 + 0xf1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xf1)" (( "(") (binary_expression "iVar9 + 0xf1" (identifier "iVar9") (+ "+") (number_literal "0xf1")) () ")")))))) (; ";")) (expression_statement "puVar21[-0x374] = bVar7;" (assignment_expression "puVar21[-0x374] = bVar7" (subscript_expression "puVar21[-0x374]" (identifier "puVar21") ([ "[") (number_literal "-0x374") (] "]")) (= "=") (identifier "bVar7")) (; ";")) (if_statement "if (bVar7 == 0) {\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }" (if "if") (parenthesized_expression "(bVar7 == 0)" (( "(") (binary_expression "bVar7 == 0" (identifier "bVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }\n      if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;\n      iVar12 = FUN_00019590();\n      if (iVar12 == 0) goto LAB_0001cb8d;\n      iVar12 = *(int *)(iVar9 + 0xb4);\n      if (iVar12 != 0x14) goto LAB_0001ca80;\n      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);\n      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }\n      piVar8 = *(int **)(iVar9 + 0xdc);\n      *(undefined1 *)(iVar9 + 0xa0) = 0;\n      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);\n      if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }\n      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;\n      *(undefined4 *)(puVar21 + -0xb0) = 0;\n      *(undefined4 *)(puVar21 + -0xa8) = 0;\n      *(undefined4 *)(puVar21 + -0xac) = 0;\n      *(undefined4 *)(puVar21 + -0xa4) = 0;\n      iVar12 = *piVar8;\n      *(int *)(puVar21 + -0x378) = iVar9;\n      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);\n      *(int *)(puVar21 + -0xa8) = piVar8[0x10];\n      goto LAB_0001d229;\n    }" ({ "{") (if_statement "if (cVar17 != '\0') {\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }" (if "if") (parenthesized_expression "(cVar17 != '\0')" (( "(") (binary_expression "cVar17 != '\0'" (identifier "cVar17") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;\n        FUN_000156d0();\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;\n        FUN_00016b30();\n      }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc03;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc03" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cc03")) (; ";")) (expression_statement "FUN_000156d0();" (call_expression "FUN_000156d0()" (identifier "FUN_000156d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc0b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cc0b")) (; ";")) (expression_statement "FUN_00016b30();" (call_expression "FUN_00016b30()" (identifier "FUN_00016b30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }\n      else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0))))" (( "(") (binary_expression "(*(int *)(iVar9 + 0xb8) == 2) ||\n         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))" (parenthesized_expression "(*(int *)(iVar9 + 0xb8) == 2)" (( "(") (binary_expression "*(int *)(iVar9 + 0xb8) == 2" (pointer_expression "*(int *)(iVar9 + 0xb8)" (* "*") (cast_expression "(int *)(iVar9 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb8)" (( "(") (binary_expression "iVar9 + 0xb8" (identifier "iVar9") (+ "+") (number_literal "0xb8")) () ")")))) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))" (( "(") (parenthesized_expression "(*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0))" (( "(") (binary_expression "*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)" (binary_expression "*(char *)(iVar9 + 0xf0) != '\0'" (pointer_expression "*(char *)(iVar9 + 0xf0)" (* "*") (cast_expression "(char *)(iVar9 + 0xf0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xf0)" (( "(") (binary_expression "iVar9 + 0xf0" (identifier "iVar9") (+ "+") (number_literal "0xf0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(*(int *)(iVar9 + 0xb8) == 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0xb8) == 0" (pointer_expression "*(int *)(iVar9 + 0xb8)" (* "*") (cast_expression "(int *)(iVar9 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb8)" (( "(") (binary_expression "iVar9 + 0xb8" (identifier "iVar9") (+ "+") (number_literal "0xb8")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x34c) = 0;\n        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        iVar12 = *(int *)(puVar21 + -0x370);\n        *(undefined4 *)(puVar21 + -0x348) = 0;\n        if (iVar12 == 0) goto LAB_0001c927;\nLAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x334) = 0;\n        *(undefined4 *)(puVar21 + -0x338) = uVar2;\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;\n        iVar12 = -1;\n        if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }\n        *(int *)(puVar21 + -900) = iVar12;\n        *(undefined4 *)(puVar21 + -0x388) = 1;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;\n        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));\n        if (iVar12 < 0) goto LAB_0001cb20;\n        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x34c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x34c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x34c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x34c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x34c)" (( "(") (binary_expression "puVar21 + -0x34c" (identifier "puVar21") (+ "+") (number_literal "-0x34c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (binary_expression "puVar21 + -0x34c" (identifier "puVar21") (+ "+") (number_literal "-0x34c"))) (; ";")) (expression_statement "iVar12 = *(int *)(puVar21 + -0x370);" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x370)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar21 + -0x370)" (* "*") (cast_expression "(int *)(puVar21 + -0x370)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x370)" (( "(") (binary_expression "puVar21 + -0x370" (identifier "puVar21") (+ "+") (number_literal "-0x370")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x348)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x348)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x348)" (( "(") (binary_expression "puVar21 + -0x348" (identifier "puVar21") (+ "+") (number_literal "-0x348")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar12 == 0) goto LAB_0001c927;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001c927;" (goto "goto") (statement_identifier "LAB_0001c927") (; ";"))) (labeled_statement "LAB_0001cab4:\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (statement_identifier "LAB_0001cab4") (: ":") (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0x334) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x334) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x334)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x334)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x334)" (( "(") (binary_expression "puVar21 + -0x334" (identifier "puVar21") (+ "+") (number_literal "-0x334")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x338) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x338) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x338)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x338)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x338)" (( "(") (binary_expression "puVar21 + -0x338" (identifier "puVar21") (+ "+") (number_literal "-0x338")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb8);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb8)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb8)" (* "*") (cast_expression "(int *)(iVar9 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb8)" (( "(") (binary_expression "iVar9 + 0xb8" (identifier "iVar9") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (if_statement "if (iVar12 == 1) {\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }\n        else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" (if "if") (parenthesized_expression "(iVar12 == 1)" (( "(") (binary_expression "iVar12 == 1" (identifier "iVar12") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 6;\n        }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x334)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x334)" (( "(") (binary_expression "puVar21 + -0x334" (identifier "puVar21") (+ "+") (number_literal "-0x334")) () ")")))) (= "=") (number_literal "6")) (; ";")) (} "}")) (else_clause "else if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" (else "else") (if_statement "if (iVar12 == 0) {\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }\n        else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 3;\n        }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 3;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 3" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x334)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x334)" (( "(") (binary_expression "puVar21 + -0x334" (identifier "puVar21") (+ "+") (number_literal "-0x334")) () ")")))) (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" (else "else") (if_statement "if (iVar12 == 2) {\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }\n        else if (iVar12 == 3) goto LAB_0001cb8d;" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          *(undefined2 *)(puVar21 + -0x334) = 2;\n        }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0x334) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x334) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x334)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x334)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x334)" (( "(") (binary_expression "puVar21 + -0x334" (identifier "puVar21") (+ "+") (number_literal "-0x334")) () ")")))) (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else if (iVar12 == 3) goto LAB_0001cb8d;" (else "else") (if_statement "if (iVar12 == 3) goto LAB_0001cb8d;" (if "if") (parenthesized_expression "(iVar12 == 3)" (( "(") (binary_expression "iVar12 == 3" (identifier "iVar12") (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_0001cb8d;" (goto "goto") (statement_identifier "LAB_0001cb8d") (; ";"))))))))) (expression_statement "iVar12 = -1;" (assignment_expression "iVar12 = -1" (identifier "iVar12") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (*(int *)(puVar21 + -0x378) != 0) {\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar21 + -0x378) != 0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x378) != 0" (pointer_expression "*(int *)(puVar21 + -0x378)" (* "*") (cast_expression "(int *)(puVar21 + -0x378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;\n        }" ({ "{") (expression_statement "iVar12 = *(int *)(puVar21 + -0x34c) * 1000;" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x34c) * 1000" (identifier "iVar12") (= "=") (binary_expression "*(int *)(puVar21 + -0x34c) * 1000" (pointer_expression "*(int *)(puVar21 + -0x34c)" (* "*") (cast_expression "(int *)(puVar21 + -0x34c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x34c)" (( "(") (binary_expression "puVar21 + -0x34c" (identifier "puVar21") (+ "+") (number_literal "-0x34c")) () ")")))) (* "*") (number_literal "1000"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar21 + -900) = iVar12;" (assignment_expression "*(int *)(puVar21 + -900) = iVar12" (pointer_expression "*(int *)(puVar21 + -900)" (* "*") (cast_expression "(int *)(puVar21 + -900)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x364)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x364)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x364)" (( "(") (binary_expression "puVar21 + -0x364" (identifier "puVar21") (+ "+") (number_literal "-0x364")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb15;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb15" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cb15")) (; ";")) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" (identifier "iVar12") (= "=") (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" (identifier "poll") (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                      *(int *)(puVar21 + -900))" (( "(") (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" (* "*") (cast_expression "(pollfd **)(puVar21 + -0x38c)" (( "(") (type_descriptor "pollfd **" (type_identifier "pollfd") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (, ",") (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" (* "*") (cast_expression "(nfds_t *)(puVar21 + -0x388)" (( "(") (type_descriptor "nfds_t *" (type_identifier "nfds_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar21 + -900)" (* "*") (cast_expression "(int *)(puVar21 + -900)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 < 0) goto LAB_0001cb20;" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cb20;" (goto "goto") (statement_identifier "LAB_0001cb20") (; ";"))) (expression_statement "*(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x38c)" (* "*") (cast_expression "(uint *)(puVar21 + -0x38c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (call_expression "(uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(ushort *)(puVar21 + -0x332) & 0xba) != 0)" (( "(") (binary_expression "(*(ushort *)(puVar21 + -0x332) & 0xba) != 0" (parenthesized_expression "(*(ushort *)(puVar21 + -0x332) & 0xba)" (( "(") (binary_expression "*(ushort *)(puVar21 + -0x332) & 0xba" (pointer_expression "*(ushort *)(puVar21 + -0x332)" (* "*") (cast_expression "(ushort *)(puVar21 + -0x332)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x332)" (( "(") (binary_expression "puVar21 + -0x332" (identifier "puVar21") (+ "+") (number_literal "-0x332")) () ")")))) (& "&") (number_literal "0xba")) () ")")) (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" (else "else") (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x378) = 0;\n        if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }\n        iVar12 = *(int *)(puVar21 + -0x370);\n        if (iVar12 != 0) goto LAB_0001cab4;\nLAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;\n        piVar8 = (int *)(puVar21 + -0x330);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;\n        piVar8 = (int *)(puVar21 + -0x2b0);\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }\n        piVar8 = (int *)(puVar21 + -0x230);\n        piVar14 = piVar8;\n        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }\n        iVar12 = *(int *)(iVar9 + 0xb8);\n        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;\n        if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n        *(int **)(puVar21 + -0x390) = piVar8;\n        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);\n        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);\n        *(int *)(puVar21 + -0x39c) = iVar12;\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;\n        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));\n        if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;\n        iVar12 = __fdelt_chk();\n        uVar2 = *(undefined4 *)(iVar9 + 0xa4);\n        bVar7 = (byte)((int)uVar2 >> 0x1f);\n        *(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);\n        *(undefined4 *)(puVar21 + -0x38c) = uVar2;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;\n        __fdelt_chk();\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x378) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x378) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar12) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }" (if "if") (parenthesized_expression "(0 < iVar12)" (( "(") (binary_expression "0 < iVar12" (number_literal "0") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;\n          iVar11 = FUN_00021e50();\n          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);\n          *(undefined4 *)(puVar21 + -0x348) = 0;\n          iVar16 = 0;\n          if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }\n          *(int *)(puVar21 + -0x34c) = iVar16;\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1c8f3" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1c8f3")) (; ";")) (expression_statement "iVar11 = FUN_00021e50();" (assignment_expression "iVar11 = FUN_00021e50()" (identifier "iVar11") (= "=") (call_expression "FUN_00021e50()" (identifier "FUN_00021e50") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar11 = iVar11 - *(int *)(iVar9 + 0x94);" (assignment_expression "iVar11 = iVar11 - *(int *)(iVar9 + 0x94)" (identifier "iVar11") (= "=") (binary_expression "iVar11 - *(int *)(iVar9 + 0x94)" (identifier "iVar11") (- "-") (pointer_expression "*(int *)(iVar9 + 0x94)" (* "*") (cast_expression "(int *)(iVar9 + 0x94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x94)" (( "(") (binary_expression "iVar9 + 0x94" (identifier "iVar9") (+ "+") (number_literal "0x94")) () ")")))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x348) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x348) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x348)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x348)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x348)" (( "(") (binary_expression "puVar21 + -0x348" (identifier "puVar21") (+ "+") (number_literal "-0x348")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = 0;" (assignment_expression "iVar16 = 0" (identifier "iVar16") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar11 <= iVar12) {\n            iVar16 = iVar12 - iVar11;\n          }" (if "if") (parenthesized_expression "(iVar11 <= iVar12)" (( "(") (binary_expression "iVar11 <= iVar12" (identifier "iVar11") (<= "<=") (identifier "iVar12")) () ")")) (compound_statement "{\n            iVar16 = iVar12 - iVar11;\n          }" ({ "{") (expression_statement "iVar16 = iVar12 - iVar11;" (assignment_expression "iVar16 = iVar12 - iVar11" (identifier "iVar16") (= "=") (binary_expression "iVar12 - iVar11" (identifier "iVar12") (- "-") (identifier "iVar11"))) (; ";")) (} "}"))) (expression_statement "*(int *)(puVar21 + -0x34c) = iVar16;" (assignment_expression "*(int *)(puVar21 + -0x34c) = iVar16" (pointer_expression "*(int *)(puVar21 + -0x34c)" (* "*") (cast_expression "(int *)(puVar21 + -0x34c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x34c)" (( "(") (binary_expression "puVar21 + -0x34c" (identifier "puVar21") (+ "+") (number_literal "-0x34c")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (binary_expression "puVar21 + -0x34c" (identifier "puVar21") (+ "+") (number_literal "-0x34c"))) (; ";")) (} "}"))) (expression_statement "iVar12 = *(int *)(puVar21 + -0x370);" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x370)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(puVar21 + -0x370)" (* "*") (cast_expression "(int *)(puVar21 + -0x370)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x370)" (( "(") (binary_expression "puVar21 + -0x370" (identifier "puVar21") (+ "+") (number_literal "-0x370")) () ")"))))) (; ";")) (if_statement "if (iVar12 != 0) goto LAB_0001cab4;" (if "if") (parenthesized_expression "(iVar12 != 0)" (( "(") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cab4;" (goto "goto") (statement_identifier "LAB_0001cab4") (; ";"))) (labeled_statement "LAB_0001c927:\n        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;" (statement_identifier "LAB_0001c927") (: ":") (expression_statement "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;" (assignment_expression "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330" (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x368)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")")))) (= "=") (binary_expression "puVar21 + -0x330" (identifier "puVar21") (+ "+") (number_literal "-0x330"))) (; ";"))) (expression_statement "piVar8 = (int *)(puVar21 + -0x330);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x330)" (identifier "piVar8") (= "=") (cast_expression "(int *)(puVar21 + -0x330)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x330)" (( "(") (binary_expression "puVar21 + -0x330" (identifier "puVar21") (+ "+") (number_literal "-0x330")) () ")")))) (; ";")) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" (for "for") (( "(") (assignment_expression "iVar16 = 0x20" (identifier "iVar16") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" ({ "{") (expression_statement "*piVar8 = iVar12;" (assignment_expression "*piVar8 = iVar12" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0" (pointer_expression "*(undefined1 **)(puVar21 + -0x36c)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x36c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")")))) (= "=") (binary_expression "puVar21 + -0x2b0" (identifier "puVar21") (+ "+") (number_literal "-0x2b0"))) (; ";")) (expression_statement "piVar8 = (int *)(puVar21 + -0x2b0);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x2b0)" (identifier "piVar8") (= "=") (cast_expression "(int *)(puVar21 + -0x2b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x2b0)" (( "(") (binary_expression "puVar21 + -0x2b0" (identifier "puVar21") (+ "+") (number_literal "-0x2b0")) () ")")))) (; ";")) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" (for "for") (( "(") (assignment_expression "iVar16 = 0x20" (identifier "iVar16") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *piVar8 = iVar12;\n          piVar8 = piVar8 + 1;\n        }" ({ "{") (expression_statement "*piVar8 = iVar12;" (assignment_expression "*piVar8 = iVar12" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar8 = piVar8 + 1;" (assignment_expression "piVar8 = piVar8 + 1" (identifier "piVar8") (= "=") (binary_expression "piVar8 + 1" (identifier "piVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "piVar8 = (int *)(puVar21 + -0x230);" (assignment_expression "piVar8 = (int *)(puVar21 + -0x230)" (identifier "piVar8") (= "=") (cast_expression "(int *)(puVar21 + -0x230)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x230)" (( "(") (binary_expression "puVar21 + -0x230" (identifier "puVar21") (+ "+") (number_literal "-0x230")) () ")")))) (; ";")) (expression_statement "piVar14 = piVar8;" (assignment_expression "piVar14 = piVar8" (identifier "piVar14") (= "=") (identifier "piVar8")) (; ";")) (for_statement "for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }" (for "for") (( "(") (assignment_expression "iVar16 = 0x20" (identifier "iVar16") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n          *piVar14 = iVar12;\n          piVar14 = piVar14 + 1;\n        }" ({ "{") (expression_statement "*piVar14 = iVar12;" (assignment_expression "*piVar14 = iVar12" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "piVar14 = piVar14 + 1;" (assignment_expression "piVar14 = piVar14 + 1" (identifier "piVar14") (= "=") (binary_expression "piVar14 + 1" (identifier "piVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb8);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb8)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb8)" (* "*") (cast_expression "(int *)(iVar9 + 0xb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb8)" (( "(") (binary_expression "iVar9 + 0xb8" (identifier "iVar9") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x354) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x354) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -0x354)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x354)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x354)" (( "(") (binary_expression "puVar21 + -0x354" (identifier "puVar21") (+ "+") (number_literal "-0x354")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (iVar12 == 1) {\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }\n        else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" (if "if") (parenthesized_expression "(iVar12 == 1)" (( "(") (binary_expression "iVar12 == 1" (identifier "iVar12") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          *(int **)(puVar21 + -0x360) = piVar8;\n          *(undefined4 *)(puVar21 + -0x380) = 0x400;\n          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);\nLAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;\n          iVar12 = FUN_000225e0();\n          if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }\n          piVar8 = *(int **)(puVar21 + -0x360);\n          iVar12 = *(int *)(puVar21 + -0x354) + 1;\n        }" ({ "{") (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" (* "*") (cast_expression "(int **)(puVar21 + -0x360)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x360)" (( "(") (binary_expression "puVar21 + -0x360" (identifier "puVar21") (+ "+") (number_literal "-0x360")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x354" (identifier "puVar21") (+ "+") (number_literal "-0x354"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x36c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x36c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")"))))) (; ";")) (labeled_statement "LAB_0001cd52:\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (statement_identifier "LAB_0001cd52") (: ":") (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cd5f" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cd5f")) (; ";")) (expression_statement "iVar12 = FUN_000225e0();" (assignment_expression "iVar12 = FUN_000225e0()" (identifier "iVar12") (= "=") (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;\n            FUN_000215b0();\n            goto LAB_0001cb8d;\n          }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xe8b6" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xe8b6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cee7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cee7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cee7")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001cb8d;" (goto "goto") (statement_identifier "LAB_0001cb8d") (; ";")) (} "}"))) (expression_statement "piVar8 = *(int **)(puVar21 + -0x360);" (assignment_expression "piVar8 = *(int **)(puVar21 + -0x360)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(puVar21 + -0x360)" (* "*") (cast_expression "(int **)(puVar21 + -0x360)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x360)" (( "(") (binary_expression "puVar21 + -0x360" (identifier "puVar21") (+ "+") (number_literal "-0x360")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(puVar21 + -0x354) + 1;" (assignment_expression "iVar12 = *(int *)(puVar21 + -0x354) + 1" (identifier "iVar12") (= "=") (binary_expression "*(int *)(puVar21 + -0x354) + 1" (pointer_expression "*(int *)(puVar21 + -0x354)" (* "*") (cast_expression "(int *)(puVar21 + -0x354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x354)" (( "(") (binary_expression "puVar21 + -0x354" (identifier "puVar21") (+ "+") (number_literal "-0x354")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" (else "else") (compound_statement "{\n          if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }\n          if (iVar12 == 3) goto LAB_0001cb8d;\n          iVar12 = 0;\n        }" ({ "{") (if_statement "if (iVar12 == 0) {\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(int **)(puVar21 + -0x360) = piVar8;\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);\n            goto LAB_0001cd52;\n          }" ({ "{") (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" (* "*") (cast_expression "(int **)(puVar21 + -0x360)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x360)" (( "(") (binary_expression "puVar21 + -0x360" (identifier "puVar21") (+ "+") (number_literal "-0x360")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x354" (identifier "puVar21") (+ "+") (number_literal "-0x354"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x368)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x368)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001cd52;" (goto "goto") (statement_identifier "LAB_0001cd52") (; ";")) (} "}"))) (if_statement "if (iVar12 == 2) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }" (if "if") (parenthesized_expression "(iVar12 == 2)" (( "(") (binary_expression "iVar12 == 2" (identifier "iVar12") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;\n            *(int **)(puVar21 + -0x388) = piVar8;\n            *(int **)(puVar21 + -0x360) = piVar8;\n            goto LAB_0001cd52;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x354" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x354" (identifier "puVar21") (+ "+") (number_literal "-0x354"))) (; ";")) (expression_statement "*(int **)(puVar21 + -0x388) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x388) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x388)" (* "*") (cast_expression "(int **)(puVar21 + -0x388)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(int **)(puVar21 + -0x360) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x360) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x360)" (* "*") (cast_expression "(int **)(puVar21 + -0x360)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x360)" (( "(") (binary_expression "puVar21 + -0x360" (identifier "puVar21") (+ "+") (number_literal "-0x360")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (goto_statement "goto LAB_0001cd52;" (goto "goto") (statement_identifier "LAB_0001cd52") (; ";")) (} "}"))) (if_statement "if (iVar12 == 3) goto LAB_0001cb8d;" (if "if") (parenthesized_expression "(iVar12 == 3)" (( "(") (binary_expression "iVar12 == 3" (identifier "iVar12") (== "==") (number_literal "3")) () ")")) (goto_statement "goto LAB_0001cb8d;" (goto "goto") (statement_identifier "LAB_0001cb8d") (; ";"))) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (expression_statement "*(int **)(puVar21 + -0x390) = piVar8;" (assignment_expression "*(int **)(puVar21 + -0x390) = piVar8" (pointer_expression "*(int **)(puVar21 + -0x390)" (* "*") (cast_expression "(int **)(puVar21 + -0x390)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x36c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x36c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x398)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x368)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x368)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x39c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x39c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x39c)" (* "*") (cast_expression "(int *)(puVar21 + -0x39c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x3a0)" (( "(") (binary_expression "puVar21 + -0x3a0" (identifier "puVar21") (+ "+") (number_literal "-0x3a0")) () ")")))) (= "=") (number_literal "0x1c9a4")) (; ";")) (expression_statement "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" (identifier "iVar12") (= "=") (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" (identifier "select") (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                        *(timeval **)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x39c)" (* "*") (cast_expression "(int *)(puVar21 + -0x39c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x398)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x398)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x394)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x394)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x390)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x390)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (, ",") (pointer_expression "*(timeval **)(puVar21 + -0x38c)" (* "*") (cast_expression "(timeval **)(puVar21 + -0x38c)" (( "(") (type_descriptor "timeval **" (type_identifier "timeval") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar12 < 0) {\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;\n          piVar8 = __errno_location();\n          iVar12 = *piVar8;\n          if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }\n          goto LAB_0001cd30;\n        }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cc5d" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1cc5d")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" (identifier "iVar12") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (if_statement "if (iVar12 != 4) {\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }" (if "if") (parenthesized_expression "(iVar12 != 4)" (( "(") (binary_expression "iVar12 != 4" (identifier "iVar12") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n            *(int *)(puVar21 + -0x38c) = iVar12;\n            goto LAB_0001cc6c;\n          }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (goto_statement "goto LAB_0001cc6c;" (goto "goto") (statement_identifier "LAB_0001cc6c") (; ";")) (} "}"))) (goto_statement "goto LAB_0001cd30;" (goto "goto") (statement_identifier "LAB_0001cd30") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1c9c2" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1c9c2")) (; ";")) (expression_statement "iVar12 = __fdelt_chk();" (assignment_expression "iVar12 = __fdelt_chk()" (identifier "iVar12") (= "=") (call_expression "__fdelt_chk()" (identifier "__fdelt_chk") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "bVar7 = (byte)((int)uVar2 >> 0x1f);" (assignment_expression "bVar7 = (byte)((int)uVar2 >> 0x1f)" (identifier "bVar7") (= "=") (call_expression "(byte)((int)uVar2 >> 0x1f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)uVar2 >> 0x1f)" (( "(") (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x378) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x378)" (* "*") (cast_expression "(uint *)(puVar21 + -0x378)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (call_expression "(uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (( "(") (binary_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f))" (( "(") (binary_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x230) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x230)" (* "*") (cast_expression "(uint *)(puVar21 + iVar12 * 4 + -0x230)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + iVar12 * 4 + -0x230)" (( "(") (binary_expression "puVar21 + iVar12 * 4 + -0x230" (binary_expression "puVar21 + iVar12 * 4" (identifier "puVar21") (+ "+") (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x230")) () ")")))) (& "&") (binary_expression "1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (( "(") (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f" (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3)" (parenthesized_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f)" (( "(") (binary_expression "(char)uVar2 + (bVar7 >> 3) & 0x1f" (binary_expression "(char)uVar2 + (bVar7 >> 3)" (cast_expression "(char)uVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar2")) (+ "+") (parenthesized_expression "(bVar7 >> 3)" (( "(") (binary_expression "bVar7 >> 3" (identifier "bVar7") (>> ">>") (number_literal "3")) () ")"))) (& "&") (number_literal "0x1f")) () ")")) (- "-") (parenthesized_expression "(bVar7 >> 3)" (( "(") (binary_expression "bVar7 >> 3" (identifier "bVar7") (>> ">>") (number_literal "3")) () ")"))) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (!= "!=") (number_literal "0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1c9fb" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1c9fb")) (; ";")) (expression_statement "iVar12 = __fdelt_chk();" (assignment_expression "iVar12 = __fdelt_chk()" (identifier "iVar12") (= "=") (call_expression "__fdelt_chk()" (identifier "__fdelt_chk") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(iVar9 + 0xa4);" (assignment_expression "uVar2 = *(undefined4 *)(iVar9 + 0xa4)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "bVar7 = (byte)((int)uVar2 >> 0x1f);" (assignment_expression "bVar7 = (byte)((int)uVar2 >> 0x1f)" (identifier "bVar7") (= "=") (call_expression "(byte)((int)uVar2 >> 0x1f)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((int)uVar2 >> 0x1f)" (( "(") (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);" (assignment_expression "*(uint *)(puVar21 + -0x36c) =\n             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (pointer_expression "*(uint *)(puVar21 + -0x36c)" (* "*") (cast_expression "(uint *)(puVar21 + -0x36c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")")))) (= "=") (call_expression "(uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0)" (( "(") (binary_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f))" (( "(") (binary_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &\n                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (pointer_expression "*(uint *)(puVar21 + iVar12 * 4 + -0x2b0)" (* "*") (cast_expression "(uint *)(puVar21 + iVar12 * 4 + -0x2b0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + iVar12 * 4 + -0x2b0)" (( "(") (binary_expression "puVar21 + iVar12 * 4 + -0x2b0" (binary_expression "puVar21 + iVar12 * 4" (identifier "puVar21") (+ "+") (binary_expression "iVar12 * 4" (identifier "iVar12") (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x2b0")) () ")")))) (& "&") (binary_expression "1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)" (( "(") (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f" (binary_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3)" (parenthesized_expression "((char)uVar2 + (bVar7 >> 3) & 0x1f)" (( "(") (binary_expression "(char)uVar2 + (bVar7 >> 3) & 0x1f" (binary_expression "(char)uVar2 + (bVar7 >> 3)" (cast_expression "(char)uVar2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar2")) (+ "+") (parenthesized_expression "(bVar7 >> 3)" (( "(") (binary_expression "bVar7 >> 3" (identifier "bVar7") (>> ">>") (number_literal "3")) () ")"))) (& "&") (number_literal "0x1f")) () ")")) (- "-") (parenthesized_expression "(bVar7 >> 3)" (( "(") (binary_expression "bVar7 >> 3" (identifier "bVar7") (>> ">>") (number_literal "3")) () ")"))) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (!= "!=") (number_literal "0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = uVar2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = uVar2" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ca35;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ca35" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1ca35")) (; ";")) (expression_statement "__fdelt_chk();" (call_expression "__fdelt_chk()" (identifier "__fdelt_chk") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ca66;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ca66" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1ca66")) (; ";")) (expression_statement "iVar12 = FUN_00019590();" (assignment_expression "iVar12 = FUN_00019590()" (identifier "iVar12") (= "=") (call_expression "FUN_00019590()" (identifier "FUN_00019590") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar12 == 0) goto LAB_0001cb8d;" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cb8d;" (goto "goto") (statement_identifier "LAB_0001cb8d") (; ";"))) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb4)" (* "*") (cast_expression "(int *)(iVar9 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb4)" (( "(") (binary_expression "iVar9 + 0xb4" (identifier "iVar9") (+ "+") (number_literal "0xb4")) () ")"))))) (; ";")) (if_statement "if (iVar12 != 0x14) goto LAB_0001ca80;" (if "if") (parenthesized_expression "(iVar12 != 0x14)" (( "(") (binary_expression "iVar12 != 0x14" (identifier "iVar12") (!= "!=") (number_literal "0x14")) () ")")) (goto_statement "goto LAB_0001ca80;" (goto "goto") (statement_identifier "LAB_0001ca80") (; ";"))) (expression_statement "pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);" (assignment_expression "pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" (* "*") (cast_expression "(code **)(*(int *)(puVar21 + -0x37c) + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0x48)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0x48" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }" (if "if") (parenthesized_expression "((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0'))" (( "(") (binary_expression "(pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')" (parenthesized_expression "(pcVar3 != (code *)0x0)" (( "(") (binary_expression "pcVar3 != (code *)0x0" (identifier "pcVar3") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar9 + 0xa0) != '\0')" (( "(") (binary_expression "*(char *)(iVar9 + 0xa0) != '\0'" (pointer_expression "*(char *)(iVar9 + 0xa0)" (* "*") (cast_expression "(char *)(iVar9 + 0xa0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa0)" (( "(") (binary_expression "iVar9 + 0xa0" (identifier "iVar9") (+ "+") (number_literal "0xa0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        *(undefined4 *)(puVar21 + -0x380) = 0;\n        *(int *)(puVar21 + -900) = iVar9 + 0x2c;\n        *(int *)(puVar21 + -0x388) = iVar9;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;\n        (*pcVar3)();\n      }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar21 + -900) = iVar9 + 0x2c;" (assignment_expression "*(int *)(puVar21 + -900) = iVar9 + 0x2c" (pointer_expression "*(int *)(puVar21 + -900)" (* "*") (cast_expression "(int *)(puVar21 + -900)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "iVar9 + 0x2c" (identifier "iVar9") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x388) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x388) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0x4c)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0x4c" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ce83;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ce83" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1ce83")) (; ";")) (expression_statement "(*pcVar3)();" (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar8 = *(int **)(iVar9 + 0xdc);" (assignment_expression "piVar8 = *(int **)(iVar9 + 0xdc)" (identifier "piVar8") (= "=") (pointer_expression "*(int **)(iVar9 + 0xdc)" (* "*") (cast_expression "(int **)(iVar9 + 0xdc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 0xdc)" (( "(") (binary_expression "iVar9 + 0xdc" (identifier "iVar9") (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar9 + 0xa0) = 0;" (assignment_expression "*(undefined1 *)(iVar9 + 0xa0) = 0" (pointer_expression "*(undefined1 *)(iVar9 + 0xa0)" (* "*") (cast_expression "(undefined1 *)(iVar9 + 0xa0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa0)" (( "(") (binary_expression "iVar9 + 0xa0" (identifier "iVar9") (+ "+") (number_literal "0xa0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);" (assignment_expression "uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" (* "*") (cast_expression "(uint *)(*(int *)(iVar9 + 0x18) + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 0x18) + 0xf8)" (( "(") (binary_expression "*(int *)(iVar9 + 0x18) + 0xf8" (pointer_expression "*(int *)(iVar9 + 0x18)" (* "*") (cast_expression "(int *)(iVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "0xf8")) () ")"))))) (; ";")) (if_statement "if ((uVar1 & 0x42) == 2) {\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }" (if "if") (parenthesized_expression "((uVar1 & 0x42) == 2)" (( "(") (binary_expression "(uVar1 & 0x42) == 2" (parenthesized_expression "(uVar1 & 0x42)" (( "(") (binary_expression "uVar1 & 0x42" (identifier "uVar1") (& "&") (number_literal "0x42")) () ")")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        *(int *)(puVar21 + -0x36c) = iVar9;\nLAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;\nLAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }\n        iVar9 = *(int *)(puVar21 + -0x36c);\n        goto LAB_0001ceb0;\n      }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x36c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x36c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x36c)" (* "*") (cast_expression "(int *)(puVar21 + -0x36c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (labeled_statement "LAB_0001cef5:\n        if (piVar8[8] != 0) goto LAB_0001cf15;" (statement_identifier "LAB_0001cef5") (: ":") (if_statement "if (piVar8[8] != 0) goto LAB_0001cf15;" (if "if") (parenthesized_expression "(piVar8[8] != 0)" (( "(") (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cf15;" (goto "goto") (statement_identifier "LAB_0001cf15") (; ";")))) (labeled_statement "LAB_0001cefc:\n        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" (statement_identifier "LAB_0001cefc") (: ":") (if_statement "if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" (if "if") (parenthesized_expression "(((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0))" (( "(") (binary_expression "((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)" (parenthesized_expression "((piVar8[9] != 0) || (piVar8[10] != 0))" (( "(") (binary_expression "(piVar8[9] != 0) || (piVar8[10] != 0)" (parenthesized_expression "(piVar8[9] != 0)" (( "(") (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar8[10] != 0)" (( "(") (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar8[0xb] != 0)" (( "(") (binary_expression "piVar8[0xb] != 0" (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;\n          puVar24 = (undefined4 *)(puVar21 + -0x1b0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;\n          puVar24 = (undefined4 *)(puVar21 + -0x130);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;\n          puVar24 = (undefined4 *)(puVar21 + -0xb0);\n          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }\n          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;\n          iVar9 = *piVar8;\n          iVar12 = piVar8[0x10];\n          puVar21[-0x370] = 1;\n          iVar9 = *(int *)(iVar9 + 0xa4);\n          if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }\n          if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }\n          if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }\nLAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);\n          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;\n          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;\n          FUN_000215b0();\n          goto LAB_0001ceb0;\n        }" ({ "{") (labeled_statement "LAB_0001cf15:\n          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;" (statement_identifier "LAB_0001cf15") (: ":") (expression_statement "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0" (pointer_expression "*(undefined1 **)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (binary_expression "puVar21 + -0x1b0" (identifier "puVar21") (+ "+") (number_literal "-0x1b0"))) (; ";"))) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x1b0);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x1b0)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(puVar21 + -0x1b0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x1b0)" (( "(") (binary_expression "puVar21 + -0x1b0" (identifier "puVar21") (+ "+") (number_literal "-0x1b0")) () ")")))) (; ";")) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar9 = 0x20" (identifier "iVar9") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" ({ "{") (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" (identifier "puVar24") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;" (assignment_expression "*(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130" (pointer_expression "*(undefined1 **)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (binary_expression "puVar21 + -0x130" (identifier "puVar21") (+ "+") (number_literal "-0x130"))) (; ";")) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x130);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x130)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(puVar21 + -0x130)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x130)" (( "(") (binary_expression "puVar21 + -0x130" (identifier "puVar21") (+ "+") (number_literal "-0x130")) () ")")))) (; ";")) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar9 = 0x20" (identifier "iVar9") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" ({ "{") (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" (identifier "puVar24") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")")))) (= "=") (binary_expression "puVar21 + -0xb0" (identifier "puVar21") (+ "+") (number_literal "-0xb0"))) (; ";")) (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0xb0);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0xb0)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(puVar21 + -0xb0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xb0)" (( "(") (binary_expression "puVar21 + -0xb0" (identifier "puVar21") (+ "+") (number_literal "-0xb0")) () ")")))) (; ";")) (for_statement "for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" (for "for") (( "(") (assignment_expression "iVar9 = 0x20" (identifier "iVar9") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar9 = iVar9 + -1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n            *puVar24 = 0;\n            puVar24 = puVar24 + 1;\n          }" ({ "{") (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" (identifier "puVar24") (= "=") (binary_expression "puVar24 + 1" (identifier "puVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar21 + -0x350) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -0x350) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -0x350)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x350)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x350)" (( "(") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar9 = *piVar8;" (assignment_expression "iVar9 = *piVar8" (identifier "iVar9") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "iVar12 = piVar8[0x10];" (assignment_expression "iVar12 = piVar8[0x10]" (identifier "iVar12") (= "=") (subscript_expression "piVar8[0x10]" (identifier "piVar8") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (expression_statement "puVar21[-0x370] = 1;" (assignment_expression "puVar21[-0x370] = 1" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar9 = *(int *)(iVar9 + 0xa4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0xa4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar9 + 0xa4)" (* "*") (cast_expression "(int *)(iVar9 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (if_statement "if (iVar9 == -1) {\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" (if "if") (parenthesized_expression "(iVar9 == -1)" (( "(") (binary_expression "iVar9 == -1" (identifier "iVar9") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }\nLAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;\n            FUN_00019470();\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;\n            FUN_00019710();\n            if (piVar8[8] == 0) goto LAB_0001cefc;\n            goto LAB_0001cf15;\n          }" ({ "{") (if_statement "if (iVar12 != -1) {\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }" (if "if") (parenthesized_expression "(iVar12 != -1)" (( "(") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }\n              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }\n              goto LAB_0001d000;\n            }" ({ "{") (labeled_statement "LAB_0001d0b7:\n              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" (statement_identifier "LAB_0001d0b7") (: ":") (if_statement "if ((uint)piVar8[0xb] < (uint)piVar8[9]) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }\n              else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" (if "if") (parenthesized_expression "((uint)piVar8[0xb] < (uint)piVar8[9])" (( "(") (binary_expression "(uint)piVar8[0xb] < (uint)piVar8[9]" (cast_expression "(uint)piVar8[0xb]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]"))) (< "<") (cast_expression "(uint)piVar8[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;\n                iVar9 = FUN_000225e0();\n                if (iVar9 != 0) goto LAB_0001cfbd;\n                puVar18 = *(undefined1 **)(puVar21 + -0x368);\n                if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }\nLAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;\n                puVar21[-0x370] = 0;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x368)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")")))) (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d0dd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d0dd")) (; ";")) (expression_statement "iVar9 = FUN_000225e0();" (assignment_expression "iVar9 = FUN_000225e0()" (identifier "iVar9") (= "=") (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) goto LAB_0001cfbd;" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cfbd;" (goto "goto") (statement_identifier "LAB_0001cfbd") (; ";"))) (expression_statement "puVar18 = *(undefined1 **)(puVar21 + -0x368);" (assignment_expression "puVar18 = *(undefined1 **)(puVar21 + -0x368)" (identifier "puVar18") (= "=") (pointer_expression "*(undefined1 **)(puVar21 + -0x368)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x368)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")"))))) (; ";")) (if_statement "if (piVar8[10] != 0) {\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" (if "if") (parenthesized_expression "(piVar8[10] != 0)" (( "(") (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  puVar21[-0x370] = 0;\n                  goto LAB_0001d14c;\n                }" ({ "{") (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001d14c;" (goto "goto") (statement_identifier "LAB_0001d14c") (; ";")) (} "}"))) (labeled_statement "LAB_0001d0f3:\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;" (statement_identifier "LAB_0001d0f3") (: ":") (if_statement "if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0x11) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0x11) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0x11) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar8 + 0x11) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0x11)" (* "*") (cast_expression "(byte *)(piVar8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0x11)" (( "(") (binary_expression "piVar8 + 0x11" (identifier "piVar8") (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d3f9;" (goto "goto") (statement_identifier "LAB_0001d3f9") (; ";")))) (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" (else "else") (compound_statement "{\nLAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;\n                if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }\n                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;\n              }" ({ "{") (labeled_statement "LAB_0001cfbd:\n                puVar18 = puVar21 + -0x350;" (statement_identifier "LAB_0001cfbd") (: ":") (expression_statement "puVar18 = puVar21 + -0x350;" (assignment_expression "puVar18 = puVar21 + -0x350" (identifier "puVar18") (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";"))) (if_statement "if (piVar8[10] != 0) {\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }" (if "if") (parenthesized_expression "(piVar8[10] != 0)" (( "(") (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                  *(undefined1 **)(puVar21 + -900) = puVar18;\n                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n                  *(int *)(puVar21 + -0x38c) = iVar12;\n                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;\n                  iVar9 = FUN_000225e0();\n                  if (iVar9 == 0) goto LAB_0001d0f3;\n                }" ({ "{") (labeled_statement "LAB_0001d14c:\n                  *(undefined4 *)(puVar21 + -0x380) = 0x400;" (statement_identifier "LAB_0001d14c") (: ":") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";"))) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar18;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar18" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (identifier "puVar18")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d15e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d15e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d15e")) (; ";")) (expression_statement "iVar9 = FUN_000225e0();" (assignment_expression "iVar9 = FUN_000225e0()" (identifier "iVar9") (= "=") (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar9 == 0) goto LAB_0001d0f3;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d0f3;" (goto "goto") (statement_identifier "LAB_0001d0f3") (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0x11) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0x11) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0x11) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar8 + 0x11) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0x11)" (* "*") (cast_expression "(byte *)(piVar8 + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0x11)" (( "(") (binary_expression "piVar8 + 0x11" (identifier "piVar8") (+ "+") (number_literal "0x11")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d000;" (goto "goto") (statement_identifier "LAB_0001d000") (; ";"))) (} "}"))))) (if_statement "if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }" (if "if") (parenthesized_expression "(((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0))" (( "(") (binary_expression "((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)" (parenthesized_expression "((piVar8[9] != 0) || (piVar8[8] != 0))" (( "(") (binary_expression "(piVar8[9] != 0) || (piVar8[8] != 0)" (parenthesized_expression "(piVar8[9] != 0)" (( "(") (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar8[8] != 0)" (( "(") (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar8[10] != 0)" (( "(") (binary_expression "piVar8[10] != 0" (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;\n                FUN_000225e0();\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cffd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cffd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cffd")) (; ";")) (expression_statement "FUN_000225e0();" (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0001d000;" (goto "goto") (statement_identifier "LAB_0001d000") (; ";")) (} "}"))) (labeled_statement "LAB_0001d065:\n            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);" (statement_identifier "LAB_0001d065") (: ":") (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")"))))) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d07b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d07b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d07b")) (; ";")) (expression_statement "FUN_00019470();" (call_expression "FUN_00019470()" (identifier "FUN_00019470") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d082;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d082" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d082")) (; ";")) (expression_statement "FUN_00019710();" (call_expression "FUN_00019710()" (identifier "FUN_00019710") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (piVar8[8] == 0) goto LAB_0001cefc;" (if "if") (parenthesized_expression "(piVar8[8] == 0)" (( "(") (binary_expression "piVar8[8] == 0" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cefc;" (goto "goto") (statement_identifier "LAB_0001cefc") (; ";"))) (goto_statement "goto LAB_0001cf15;" (goto "goto") (statement_identifier "LAB_0001cf15") (; ";")) (} "}"))) (if_statement "if ((uint)piVar8[10] < (uint)piVar8[8]) {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }" (if "if") (parenthesized_expression "((uint)piVar8[10] < (uint)piVar8[8])" (( "(") (binary_expression "(uint)piVar8[10] < (uint)piVar8[8]" (cast_expression "(uint)piVar8[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]"))) (< "<") (cast_expression "(uint)piVar8[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")))) () ")")) (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            puVar21[-0x370] = iVar16 != 0;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x368) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x368) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x368)" (* "*") (cast_expression "(int *)(puVar21 + -0x368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d185;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d185" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d185")) (; ";")) (expression_statement "iVar16 = FUN_000225e0();" (assignment_expression "iVar16 = FUN_000225e0()" (identifier "iVar16") (= "=") (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar21 + -0x368);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x368)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x368)" (* "*") (cast_expression "(int *)(puVar21 + -0x368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")"))))) (; ";")) (expression_statement "puVar21[-0x370] = iVar16 != 0;" (assignment_expression "puVar21[-0x370] = iVar16 != 0" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (= "=") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) (; ";")) (} "}"))) (if_statement "if (piVar8[0xb] == 0) {\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }\n          else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" (if "if") (parenthesized_expression "(piVar8[0xb] == 0)" (( "(") (binary_expression "piVar8[0xb] == 0" (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }\nLAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }\n          }" ({ "{") (labeled_statement "LAB_0001cf8d:\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" (statement_identifier "LAB_0001cf8d") (: ":") (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }\n            else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" (* "*") (cast_expression "(byte *)(piVar8 + 0xe)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0xe)" (( "(") (binary_expression "piVar8 + 0xe" (identifier "piVar8") (+ "+") (number_literal "0xe")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }\n              if (iVar12 != -1) goto LAB_0001cfbd;\n            }" ({ "{") (labeled_statement "LAB_0001cf97:\n              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" (statement_identifier "LAB_0001cf97") (: ":") (if_statement "if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" (if "if") (parenthesized_expression "(((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0))" (( "(") (binary_expression "((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)" (parenthesized_expression "((piVar8[8] != 0) || (piVar8[9] != 0))" (( "(") (binary_expression "(piVar8[8] != 0) || (piVar8[9] != 0)" (parenthesized_expression "(piVar8[8] != 0)" (( "(") (binary_expression "piVar8[8] != 0" (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar8[9] != 0)" (( "(") (binary_expression "piVar8[9] != 0" (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar8[0xb] != 0)" (( "(") (binary_expression "piVar8[0xb] != 0" (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x400;\n                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);\n                *(int *)(puVar21 + -0x38c) = iVar9;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;\n                FUN_000225e0();\n                goto LAB_0001d0ae;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d0ab" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d0ab")) (; ";")) (expression_statement "FUN_000225e0();" (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001d0ae;" (goto "goto") (statement_identifier "LAB_0001d0ae") (; ";")) (} "}")))) (if_statement "if (iVar12 != -1) goto LAB_0001cfbd;" (if "if") (parenthesized_expression "(iVar12 != -1)" (( "(") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001cfbd;" (goto "goto") (statement_identifier "LAB_0001cfbd") (; ";"))) (} "}")) (else_clause "else {\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" (else "else") (compound_statement "{\nLAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;\n            }" ({ "{") (labeled_statement "LAB_0001d0ae:\n              if (iVar12 != -1) goto LAB_0001d0b7;" (statement_identifier "LAB_0001d0ae") (: ":") (if_statement "if (iVar12 != -1) goto LAB_0001d0b7;" (if "if") (parenthesized_expression "(iVar12 != -1)" (( "(") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001d0b7;" (goto "goto") (statement_identifier "LAB_0001d0b7") (; ";")))) (} "}"))))) (labeled_statement "LAB_0001d000:\n            if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" (statement_identifier "LAB_0001d000") (: ":") (if_statement "if (puVar21[-0x370] != '\0') {\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" (if "if") (parenthesized_expression "(puVar21[-0x370] != '\0')" (( "(") (binary_expression "puVar21[-0x370] != '\0'" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;\n              puVar18 = (undefined1 *)0x0;\n              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }\n              *(undefined1 **)(puVar21 + -0x38c) = puVar18;\n              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);\n              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);\n              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);\n              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;\n              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;\n              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));\n              if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }\n              goto LAB_0001d065;\n            }" ({ "{") (if_statement "if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;" (if "if") (parenthesized_expression "(*(int *)(puVar21 + -0x350) == -1)" (( "(") (binary_expression "*(int *)(puVar21 + -0x350) == -1" (pointer_expression "*(int *)(puVar21 + -0x350)" (* "*") (cast_expression "(int *)(puVar21 + -0x350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x350)" (( "(") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350")) () ")")))) (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0001d065;" (goto "goto") (statement_identifier "LAB_0001d065") (; ";"))) (expression_statement "puVar18 = (undefined1 *)0x0;" (assignment_expression "puVar18 = (undefined1 *)0x0" (identifier "puVar18") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])) {\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }" (if "if") (parenthesized_expression "((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8]))" (( "(") (binary_expression "(*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&\n                 ((uint)piVar8[10] < (uint)piVar8[8])" (parenthesized_expression "(*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0)" (* "*") (cast_expression "(char *)(*(int *)(puVar21 + -0x36c) + 0xf0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x36c) + 0xf0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x36c) + 0xf0" (pointer_expression "*(int *)(puVar21 + -0x36c)" (* "*") (cast_expression "(int *)(puVar21 + -0x36c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")")))) (+ "+") (number_literal "0xf0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((uint)piVar8[10] < (uint)piVar8[8])" (( "(") (binary_expression "(uint)piVar8[10] < (uint)piVar8[8]" (cast_expression "(uint)piVar8[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]"))) (< "<") (cast_expression "(uint)piVar8[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]")))) () ")"))) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x344) = 0;\n                puVar18 = puVar21 + -0x344;\n                *(undefined4 *)(puVar21 + -0x340) = 0;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x344) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x344) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x344)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x344)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x344)" (( "(") (binary_expression "puVar21 + -0x344" (identifier "puVar21") (+ "+") (number_literal "-0x344")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = puVar21 + -0x344;" (assignment_expression "puVar18 = puVar21 + -0x344" (identifier "puVar18") (= "=") (binary_expression "puVar21 + -0x344" (identifier "puVar21") (+ "+") (number_literal "-0x344"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x340) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x340) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x340)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x340)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x340)" (( "(") (binary_expression "puVar21 + -0x340" (identifier "puVar21") (+ "+") (number_literal "-0x340")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*(undefined1 **)(puVar21 + -0x38c) = puVar18;" (assignment_expression "*(undefined1 **)(puVar21 + -0x38c) = puVar18" (pointer_expression "*(undefined1 **)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "puVar18")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374)" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x398)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;" (assignment_expression "*(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1" (pointer_expression "*(int *)(puVar21 + -0x39c)" (* "*") (cast_expression "(int *)(puVar21 + -0x39c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (= "=") (binary_expression "*(int *)(puVar21 + -0x350) + 1" (pointer_expression "*(int *)(puVar21 + -0x350)" (* "*") (cast_expression "(int *)(puVar21 + -0x350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x350)" (( "(") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x3a0)" (( "(") (binary_expression "puVar21 + -0x3a0" (identifier "puVar21") (+ "+") (number_literal "-0x3a0")) () ")")))) (= "=") (number_literal "0x1d05a")) (; ";")) (expression_statement "iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" (identifier "iVar9") (= "=") (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" (identifier "select") (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                             *(timeval **)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x39c)" (* "*") (cast_expression "(int *)(puVar21 + -0x39c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x398)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x398)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x394)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x394)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x390)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x390)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (, ",") (pointer_expression "*(timeval **)(puVar21 + -0x38c)" (* "*") (cast_expression "(timeval **)(puVar21 + -0x38c)" (( "(") (type_descriptor "timeval **" (type_identifier "timeval") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar9 < 0) {\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }" (if "if") (parenthesized_expression "(iVar9 < 0)" (( "(") (binary_expression "iVar9 < 0" (identifier "iVar9") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;\n                piVar14 = __errno_location();\n                iVar12 = *piVar14;\n                if (iVar12 == 4) goto LAB_0001cef5;\n                iVar9 = *(int *)(puVar21 + -0x36c);\n                *(int *)(puVar21 + -0x38c) = iVar12;\n                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;\n                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n                *(char **)(puVar21 + -0x390) = pcVar15;\n                *(int *)(puVar21 + -0x394) = iVar12;\n                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;\n                FUN_000215b0();\n                goto LAB_0001ceb0;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d116;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d116" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1d116")) (; ";")) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" (identifier "piVar14") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar12 = *piVar14;" (assignment_expression "iVar12 = *piVar14" (identifier "iVar12") (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (if_statement "if (iVar12 == 4) goto LAB_0001cef5;" (if "if") (parenthesized_expression "(iVar12 == 4)" (( "(") (binary_expression "iVar12 == 4" (identifier "iVar12") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0001cef5;" (goto "goto") (statement_identifier "LAB_0001cef5") (; ";"))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x36c)" (* "*") (cast_expression "(int *)(puVar21 + -0x36c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d12e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d12e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d12e")) (; ";")) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" (identifier "pcVar15") (= "=") (call_expression "strerror(*(int *)(puVar21 + -0x38c))" (identifier "strerror") (argument_list "(*(int *)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar21 + -0x390) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -0x390) = pcVar15" (pointer_expression "*(char **)(puVar21 + -0x390)" (* "*") (cast_expression "(char **)(puVar21 + -0x390)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x394) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x394) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x394)" (* "*") (cast_expression "(int *)(puVar21 + -0x394)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;" (assignment_expression "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552" (pointer_expression "*(int *)(puVar21 + -0x398)" (* "*") (cast_expression "(int *)(puVar21 + -0x398)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xf552" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xf552"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x39c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x39c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x3a0)" (( "(") (binary_expression "puVar21 + -0x3a0" (identifier "puVar21") (+ "+") (number_literal "-0x3a0")) () ")")))) (= "=") (number_literal "0x1d13f")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001ceb0;" (goto "goto") (statement_identifier "LAB_0001ceb0") (; ";")) (} "}"))) (goto_statement "goto LAB_0001d065;" (goto "goto") (statement_identifier "LAB_0001d065") (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" (else "else") (compound_statement "{\n            *(undefined4 *)(puVar21 + -0x380) = 0x400;\n            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;\n            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);\n            *(int *)(puVar21 + -0x38c) = iVar9;\n            *(int *)(puVar21 + -0x368) = iVar9;\n            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;\n            iVar16 = FUN_000225e0();\n            iVar9 = *(int *)(puVar21 + -0x368);\n            if (iVar16 != 0) goto LAB_0001cf8d;\n            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }\n            if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;" (assignment_expression "*(undefined1 **)(puVar21 + -900) = puVar21 + -0x350" (pointer_expression "*(undefined1 **)(puVar21 + -900)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -900)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (binary_expression "puVar21 + -0x350" (identifier "puVar21") (+ "+") (number_literal "-0x350"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x368) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x368) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x368)" (* "*") (cast_expression "(int *)(puVar21 + -0x368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d1b2" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d1b2")) (; ";")) (expression_statement "iVar16 = FUN_000225e0();" (assignment_expression "iVar16 = FUN_000225e0()" (identifier "iVar16") (= "=") (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar21 + -0x368);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x368)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x368)" (* "*") (cast_expression "(int *)(puVar21 + -0x368)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x368)" (( "(") (binary_expression "puVar21 + -0x368" (identifier "puVar21") (+ "+") (number_literal "-0x368")) () ")"))))) (; ";")) (if_statement "if (iVar16 != 0) goto LAB_0001cf8d;" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001cf8d;" (goto "goto") (statement_identifier "LAB_0001cf8d") (; ";"))) (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" (* "*") (cast_expression "(byte *)(piVar8 + 0xe)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0xe)" (( "(") (binary_expression "piVar8 + 0xe" (identifier "piVar8") (+ "+") (number_literal "0xe")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              puVar21[-0x370] = 0;\n              goto LAB_0001cf97;\n            }" ({ "{") (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001cf97;" (goto "goto") (statement_identifier "LAB_0001cf97") (; ";")) (} "}"))) (if_statement "if (iVar12 != -1) {\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" (if "if") (parenthesized_expression "(iVar12 != -1)" (( "(") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n              puVar21[-0x370] = 0;\n              goto LAB_0001d0b7;\n            }" ({ "{") (expression_statement "puVar21[-0x370] = 0;" (assignment_expression "puVar21[-0x370] = 0" (subscript_expression "puVar21[-0x370]" (identifier "puVar21") ([ "[") (number_literal "-0x370") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001d0b7;" (goto "goto") (statement_identifier "LAB_0001d0b7") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0001d3f9:\n          iVar9 = *(int *)(puVar21 + -0x36c);" (statement_identifier "LAB_0001d3f9") (: ":") (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x36c)" (* "*") (cast_expression "(int *)(puVar21 + -0x36c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")"))))) (; ";"))) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xe8eb" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xe8eb"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d411;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d411" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d411")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001ceb0;" (goto "goto") (statement_identifier "LAB_0001ceb0") (; ";")) (} "}")))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x36c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x36c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x36c)" (* "*") (cast_expression "(int *)(puVar21 + -0x36c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x36c)" (( "(") (binary_expression "puVar21 + -0x36c" (identifier "puVar21") (+ "+") (number_literal "-0x36c")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001ceb0;" (goto "goto") (statement_identifier "LAB_0001ceb0") (; ";")) (} "}"))) (if_statement "if ((uVar1 & 2) == 0) goto LAB_0001ceb0;" (if "if") (parenthesized_expression "((uVar1 & 2) == 0)" (( "(") (binary_expression "(uVar1 & 2) == 0" (parenthesized_expression "(uVar1 & 2)" (( "(") (binary_expression "uVar1 & 2" (identifier "uVar1") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001ceb0;" (goto "goto") (statement_identifier "LAB_0001ceb0") (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0xb0) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xb0) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xb0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0xb0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xb0)" (( "(") (binary_expression "puVar21 + -0xb0" (identifier "puVar21") (+ "+") (number_literal "-0xb0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0xa8) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xa8) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xa8)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0xa8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa8)" (( "(") (binary_expression "puVar21 + -0xa8" (identifier "puVar21") (+ "+") (number_literal "-0xa8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xac)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0xac)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xac)" (( "(") (binary_expression "puVar21 + -0xac" (identifier "puVar21") (+ "+") (number_literal "-0xac")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0xa4)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" (identifier "iVar12") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x378) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x378) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x378)" (* "*") (cast_expression "(int *)(puVar21 + -0x378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);" (assignment_expression "*(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4)" (pointer_expression "*(undefined4 *)(puVar21 + -0xb0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0xb0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xb0)" (( "(") (binary_expression "puVar21 + -0xb0" (identifier "puVar21") (+ "+") (number_literal "-0xb0")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar12 + 0xa4)" (* "*") (cast_expression "(undefined4 *)(iVar12 + 0xa4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar12 + 0xa4)" (( "(") (binary_expression "iVar12 + 0xa4" (identifier "iVar12") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0xa8) = piVar8[0x10];" (assignment_expression "*(int *)(puVar21 + -0xa8) = piVar8[0x10]" (pointer_expression "*(int *)(puVar21 + -0xa8)" (* "*") (cast_expression "(int *)(puVar21 + -0xa8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa8)" (( "(") (binary_expression "puVar21 + -0xa8" (identifier "puVar21") (+ "+") (number_literal "-0xa8")) () ")")))) (= "=") (subscript_expression "piVar8[0x10]" (identifier "piVar8") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (goto_statement "goto LAB_0001d229;" (goto "goto") (statement_identifier "LAB_0001d229") (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar21 + -0x370) == 0) {\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }\n    else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar21 + -0x370) == 0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x370) == 0" (pointer_expression "*(int *)(puVar21 + -0x370)" (* "*") (cast_expression "(int *)(puVar21 + -0x370)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x370)" (( "(") (binary_expression "puVar21 + -0x370" (identifier "puVar21") (+ "+") (number_literal "-0x370")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar24 = (undefined4 *)(puVar21 + -0x330);\n      puVar23 = puVar24;\n      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }\n      *(undefined4 *)(puVar21 + -0x380) = 0x400;\n      *(undefined4 *)(puVar21 + -900) = 0;\n      *(undefined4 **)(puVar21 + -0x388) = puVar24;\n      *(undefined4 **)(puVar21 + -0x378) = puVar24;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;\n      iVar12 = FUN_000225e0();\n      if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }\n      *(undefined4 *)(puVar21 + -0x38c) = 0;\n      *(undefined4 *)(puVar21 + -0x390) = 0;\n      *(undefined4 *)(puVar21 + -0x394) = 0;\n      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);\n      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(int *)(puVar21 + -0x378) = iVar12;\n      *(int *)(puVar21 + -0x39c) = iVar12 + 1;\n      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;\n      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));\n      if (-1 < iVar12) goto LAB_0001cdf2;\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;\n      piVar8 = __errno_location();\n      iVar12 = *piVar8;\n      if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }\n    }" ({ "{") (expression_statement "puVar24 = (undefined4 *)(puVar21 + -0x330);" (assignment_expression "puVar24 = (undefined4 *)(puVar21 + -0x330)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)(puVar21 + -0x330)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x330)" (( "(") (binary_expression "puVar21 + -0x330" (identifier "puVar21") (+ "+") (number_literal "-0x330")) () ")")))) (; ";")) (expression_statement "puVar23 = puVar24;" (assignment_expression "puVar23 = puVar24" (identifier "puVar23") (= "=") (identifier "puVar24")) (; ";")) (for_statement "for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }" (for "for") (( "(") (assignment_expression "iVar12 = 0x20" (identifier "iVar12") (= "=") (number_literal "0x20")) (; ";") (binary_expression "iVar12 != 0" (identifier "iVar12") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar12 = iVar12 + -1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + -1" (identifier "iVar12") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n        *puVar23 = 0;\n        puVar23 = puVar23 + 1;\n      }" ({ "{") (expression_statement "*puVar23 = 0;" (assignment_expression "*puVar23 = 0" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x400;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x400" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x400")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -900) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -900)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -900)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 **)(puVar21 + -0x388) = puVar24;" (assignment_expression "*(undefined4 **)(puVar21 + -0x388) = puVar24" (pointer_expression "*(undefined4 **)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 **)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (identifier "puVar24")) (; ";")) (expression_statement "*(undefined4 **)(puVar21 + -0x378) = puVar24;" (assignment_expression "*(undefined4 **)(puVar21 + -0x378) = puVar24" (pointer_expression "*(undefined4 **)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 **)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (identifier "puVar24")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ccd7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1ccd7")) (; ";")) (expression_statement "iVar12 = FUN_000225e0();" (assignment_expression "iVar12 = FUN_000225e0()" (identifier "iVar12") (= "=") (call_expression "FUN_000225e0()" (identifier "FUN_000225e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar12 == 0) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }" (if "if") (parenthesized_expression "(iVar12 == 0)" (( "(") (binary_expression "iVar12 == 0" (identifier "iVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;\n        FUN_000215b0();\n        goto LAB_0001cb8d;\n      }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xe8b6" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xe8b6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d3f1" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d3f1")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001cb8d;" (goto "goto") (statement_identifier "LAB_0001cb8d") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x394) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x394) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x394)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);" (assignment_expression "*(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378)" (pointer_expression "*(undefined4 *)(puVar21 + -0x398)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x398)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x378)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x378)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (* "*") (cast_expression "(int *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x378) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x378) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x378)" (* "*") (cast_expression "(int *)(puVar21 + -0x378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x39c) = iVar12 + 1;" (assignment_expression "*(int *)(puVar21 + -0x39c) = iVar12 + 1" (pointer_expression "*(int *)(puVar21 + -0x39c)" (* "*") (cast_expression "(int *)(puVar21 + -0x39c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x3a0)" (( "(") (binary_expression "puVar21 + -0x3a0" (identifier "puVar21") (+ "+") (number_literal "-0x3a0")) () ")")))) (= "=") (number_literal "0x1cd07")) (; ";")) (expression_statement "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c));" (assignment_expression "iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" (identifier "iVar12") (= "=") (call_expression "select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" (identifier "select") (argument_list "(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),\n                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),\n                      *(timeval **)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x39c)" (* "*") (cast_expression "(int *)(puVar21 + -0x39c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x398)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x398)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x394)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x394)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (, ",") (pointer_expression "*(fd_set **)(puVar21 + -0x390)" (* "*") (cast_expression "(fd_set **)(puVar21 + -0x390)" (( "(") (type_descriptor "fd_set **" (type_identifier "fd_set") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (, ",") (pointer_expression "*(timeval **)(puVar21 + -0x38c)" (* "*") (cast_expression "(timeval **)(puVar21 + -0x38c)" (( "(") (type_descriptor "timeval **" (type_identifier "timeval") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (if_statement "if (-1 < iVar12) goto LAB_0001cdf2;" (if "if") (parenthesized_expression "(-1 < iVar12)" (( "(") (binary_expression "-1 < iVar12" (number_literal "-1") (< "<") (identifier "iVar12")) () ")")) (goto_statement "goto LAB_0001cdf2;" (goto "goto") (statement_identifier "LAB_0001cdf2") (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cd17;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cd17" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1cd17")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar12 = *piVar8;" (assignment_expression "iVar12 = *piVar8" (identifier "iVar12") (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (if_statement "if (iVar12 != 4) {\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" (if "if") (parenthesized_expression "(iVar12 != 4)" (( "(") (binary_expression "iVar12 != 4" (identifier "iVar12") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = iVar12;\nLAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -0x390) = pcVar15;\n        *(int *)(puVar21 + -0x394) = iVar12;\n        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;\n        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;\n        FUN_000215b0();\n        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;\n        goto LAB_0001cb5c;\n      }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (labeled_statement "LAB_0001cc6c:\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;" (statement_identifier "LAB_0001cc6c") (: ":") (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc71;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc71" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cc71")) (; ";"))) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" (identifier "pcVar15") (= "=") (call_expression "strerror(*(int *)(puVar21 + -0x38c))" (identifier "strerror") (argument_list "(*(int *)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar21 + -0x390) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -0x390) = pcVar15" (pointer_expression "*(char **)(puVar21 + -0x390)" (* "*") (cast_expression "(char **)(puVar21 + -0x390)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x394) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x394) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x394)" (* "*") (cast_expression "(int *)(puVar21 + -0x394)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x394)" (( "(") (binary_expression "puVar21 + -0x394" (identifier "puVar21") (+ "+") (number_literal "-0x394")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;" (assignment_expression "*(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552" (pointer_expression "*(int *)(puVar21 + -0x398)" (* "*") (cast_expression "(int *)(puVar21 + -0x398)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x398)" (( "(") (binary_expression "puVar21 + -0x398" (identifier "puVar21") (+ "+") (number_literal "-0x398")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xf552" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xf552"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x39c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x39c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x39c)" (( "(") (binary_expression "puVar21 + -0x39c" (identifier "puVar21") (+ "+") (number_literal "-0x39c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;" (assignment_expression "*(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82" (pointer_expression "*(undefined4 *)(puVar21 + -0x3a0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x3a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x3a0)" (( "(") (binary_expression "puVar21 + -0x3a0" (identifier "puVar21") (+ "+") (number_literal "-0x3a0")) () ")")))) (= "=") (number_literal "0x1cc82")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0xb4) == 0x13)" (( "(") (binary_expression "*(int *)(iVar9 + 0xb4) == 0x13" (pointer_expression "*(int *)(iVar9 + 0xb4)" (* "*") (cast_expression "(int *)(iVar9 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb4)" (( "(") (binary_expression "iVar9 + 0xb4" (identifier "iVar9") (+ "+") (number_literal "0xb4")) () ")")))) (== "==") (number_literal "0x13")) () ")")) (goto_statement "goto LAB_0001cb7f;" (goto "goto") (statement_identifier "LAB_0001cb7f") (; ";"))) (goto_statement "goto LAB_0001cb5c;" (goto "goto") (statement_identifier "LAB_0001cb5c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x334) = 1;\n      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n      *(undefined4 *)(puVar21 + -900) = 0xffffffff;\n      *(undefined4 *)(puVar21 + -0x388) = 1;\n      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);\n      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;\n      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));\n      if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }\nLAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;\n      piVar8 = __errno_location();\n      if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x334) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x334) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x334)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x334)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x334)" (( "(") (binary_expression "puVar21 + -0x334" (identifier "puVar21") (+ "+") (number_literal "-0x334")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x338)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x338)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x338)" (( "(") (binary_expression "puVar21 + -0x338" (identifier "puVar21") (+ "+") (number_literal "-0x338")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -900) = 0xffffffff;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 0xffffffff" (pointer_expression "*(undefined4 *)(puVar21 + -900)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -900)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar21 + -0x364)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x364)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x364)" (( "(") (binary_expression "puVar21 + -0x364" (identifier "puVar21") (+ "+") (number_literal "-0x364")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cde7;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cde7" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cde7")) (; ";")) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" (identifier "iVar12") (= "=") (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" (identifier "poll") (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                    *(int *)(puVar21 + -900))" (( "(") (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" (* "*") (cast_expression "(pollfd **)(puVar21 + -0x38c)" (( "(") (type_descriptor "pollfd **" (type_identifier "pollfd") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (, ",") (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" (* "*") (cast_expression "(nfds_t *)(puVar21 + -0x388)" (( "(") (type_descriptor "nfds_t *" (type_identifier "nfds_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar21 + -900)" (* "*") (cast_expression "(int *)(puVar21 + -900)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) () ")")))) (; ";")) (if_statement "if (-1 < iVar12) {\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }" (if "if") (parenthesized_expression "(-1 < iVar12)" (( "(") (binary_expression "-1 < iVar12" (number_literal "-1") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\nLAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;\n        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;\n        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        goto LAB_0001ca80;\n      }" ({ "{") (labeled_statement "LAB_0001cdf2:\n        *(undefined4 *)(puVar21 + -900) = 8;" (statement_identifier "LAB_0001cdf2") (: ":") (expression_statement "*(undefined4 *)(puVar21 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar21 + -900)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -900)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (number_literal "8")) (; ";"))) (expression_statement "*(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;" (assignment_expression "*(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344" (pointer_expression "*(undefined1 **)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "puVar21 + -0x344" (identifier "puVar21") (+ "+") (number_literal "-0x344"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xdc)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xdc" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1ce0d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1ce0d")) (; ";")) (expression_statement "read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));" (call_expression "read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900))" (identifier "read") (argument_list "(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar21 + -0x388)" (* "*") (cast_expression "(void **)(puVar21 + -0x388)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar21 + -900)" (* "*") (cast_expression "(size_t *)(puVar21 + -900)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb4)" (* "*") (cast_expression "(int *)(iVar9 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb4)" (( "(") (binary_expression "iVar9 + 0xb4" (identifier "iVar9") (+ "+") (number_literal "0xb4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001ca80;" (goto "goto") (statement_identifier "LAB_0001ca80") (; ";")) (} "}"))) (labeled_statement "LAB_0001cb20:\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;" (statement_identifier "LAB_0001cb20") (: ":") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cb25;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cb25" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1cb25")) (; ";"))) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar8 != 4) {\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }" (if "if") (parenthesized_expression "(*piVar8 != 4)" (( "(") (binary_expression "*piVar8 != 4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n        *(int *)(puVar21 + -0x38c) = *piVar8;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;\n        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));\n        *(char **)(puVar21 + -900) = pcVar15;\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;\n        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;\n        FUN_000215b0();\n        iVar12 = *(int *)(iVar9 + 0xb4);\n        break;\n      }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x38c) = *piVar8;" (assignment_expression "*(int *)(puVar21 + -0x38c) = *piVar8" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb3b" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cb3b")) (; ";")) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" (identifier "pcVar15") (= "=") (call_expression "strerror(*(int *)(puVar21 + -0x38c))" (identifier "strerror") (argument_list "(*(int *)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar21 + -900) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -900) = pcVar15" (pointer_expression "*(char **)(puVar21 + -900)" (* "*") (cast_expression "(char **)(puVar21 + -900)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xe8d2" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xe8d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb4e" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cb4e")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb4)" (* "*") (cast_expression "(int *)(iVar9 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb4)" (( "(") (binary_expression "iVar9 + 0xb4" (identifier "iVar9") (+ "+") (number_literal "0xb4")) () ")"))))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0001cd30:\n    iVar12 = *(int *)(iVar9 + 0xb4);" (statement_identifier "LAB_0001cd30") (: ":") (expression_statement "iVar12 = *(int *)(iVar9 + 0xb4);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xb4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xb4)" (* "*") (cast_expression "(int *)(iVar9 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xb4)" (( "(") (binary_expression "iVar9 + 0xb4" (identifier "iVar9") (+ "+") (number_literal "0xb4")) () ")"))))) (; ";"))) (labeled_statement "LAB_0001ca80:\n    cVar17 = puVar21[-0x374];" (statement_identifier "LAB_0001ca80") (: ":") (expression_statement "cVar17 = puVar21[-0x374];" (assignment_expression "cVar17 = puVar21[-0x374]" (identifier "cVar17") (= "=") (subscript_expression "puVar21[-0x374]" (identifier "puVar21") ([ "[") (number_literal "-0x374") (] "]"))) (; ";"))) (} "}"))) (if_statement "if (iVar12 != 0x13) {\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }" (if "if") (parenthesized_expression "(iVar12 != 0x13)" (( "(") (binary_expression "iVar12 != 0x13" (identifier "iVar12") (!= "!=") (number_literal "0x13")) () ")")) (compound_statement "{\nLAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;\n    FUN_000151b0();\n  }" ({ "{") (labeled_statement "LAB_0001cb5c:\n    *(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" (statement_identifier "LAB_0001cb5c") (: ":") (expression_statement "*(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;" (assignment_expression "*(uint *)(puVar21 + -0x388) =\n         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (pointer_expression "*(uint *)(puVar21 + -0x388)" (* "*") (cast_expression "(uint *)(puVar21 + -0x388)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3" (parenthesized_expression "(-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe)" (( "(") (binary_expression "-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe" (unary_expression "-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" (- "-") (call_expression "(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0'" (pointer_expression "*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" (* "*") (cast_expression "(char *)(*(int *)(puVar21 + -0x37c) + 0xe0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar21 + -0x37c) + 0xe0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x37c) + 0xe0" (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (+ "+") (number_literal "0xe0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (& "&") (number_literal "0xfffffffe")) () ")")) (+ "+") (number_literal "3"))) (; ";"))) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb7c" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cb7c")) (; ";")) (expression_statement "FUN_000151b0();" (call_expression "FUN_000151b0()" (identifier "FUN_000151b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0001cb7f:\n  *(int *)(puVar21 + -0x38c) = iVar9;" (statement_identifier "LAB_0001cb7f") (: ":") (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb8a" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cb8a")) (; ";")) (expression_statement "FUN_00016b30();" (call_expression "FUN_00016b30()" (identifier "FUN_00016b30") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001cb8d:\n  if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" (statement_identifier "LAB_0001cb8d") (: ":") (if_statement "if (*(int *)(iVar9 + 0x24) != 0) {\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x24) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x24) != 0" (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;\n    MHD_destroy_response();\n    *(undefined4 *)(iVar9 + 0x24) = 0;\n  }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);" (assignment_expression "*(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24)" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(int *)(iVar9 + 0x24)" (* "*") (cast_expression "(int *)(iVar9 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cb9f" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cb9f")) (; ";")) (expression_statement "MHD_destroy_response();" (call_expression "MHD_destroy_response()" (identifier "MHD_destroy_response") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x24) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x24)" (( "(") (binary_expression "iVar9 + 0x24" (identifier "iVar9") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "iVar9 = *(int *)(iVar9 + 0xa4);" (assignment_expression "iVar9 = *(int *)(iVar9 + 0xa4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar9 + 0xa4)" (* "*") (cast_expression "(int *)(iVar9 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xa4)" (( "(") (binary_expression "iVar9 + 0xa4" (identifier "iVar9") (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (if_statement "if (iVar9 != -1) {\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }" (if "if") (parenthesized_expression "(iVar9 != -1)" (( "(") (binary_expression "iVar9 != -1" (identifier "iVar9") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar21 + -0x388) = 1;\n    *(int *)(puVar21 + -0x38c) = iVar9;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;\n    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 1" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cbc1" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cbc1")) (; ";")) (expression_statement "shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));" (call_expression "shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388))" (identifier "shutdown") (argument_list "(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x37c);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x37c)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x37c)" (* "*") (cast_expression "(int *)(puVar21 + -0x37c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(iVar9 + 0xdc);" (assignment_expression "iVar12 = *(int *)(iVar9 + 0xdc)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(iVar9 + 0xdc)" (* "*") (cast_expression "(int *)(iVar9 + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xdc)" (( "(") (binary_expression "iVar9 + 0xdc" (identifier "iVar9") (+ "+") (number_literal "0xdc")) () ")"))))) (; ";")) (if_statement "if (iVar12 != -1) {\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }" (if "if") (parenthesized_expression "(iVar12 != -1)" (( "(") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    *(undefined4 *)(puVar21 + -900) = 8;\n    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;\n    *(int *)(puVar21 + -0x38c) = iVar12;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;\n    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));\n    if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -900) = 8;" (assignment_expression "*(undefined4 *)(puVar21 + -900) = 8" (pointer_expression "*(undefined4 *)(puVar21 + -900)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -900)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (number_literal "8")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xffca" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xffca"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar12;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar12" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar12")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc2c" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cc2c")) (; ";")) (expression_statement "sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900));" (assignment_expression "sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" (identifier "sVar13") (= "=") (call_expression "write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" (identifier "write") (argument_list "(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),\n                   *(size_t *)(puVar21 + -900))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar21 + -0x388)" (* "*") (cast_expression "(void **)(puVar21 + -0x388)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar21 + -900)" (* "*") (cast_expression "(size_t *)(puVar21 + -900)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar13 < 1) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }" (if "if") (parenthesized_expression "(sVar13 < 1)" (( "(") (binary_expression "sVar13 < 1" (identifier "sVar13") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;\n      piVar8 = __errno_location();\n      if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1cc38;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1cc38" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1cc38")) (; ";")) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" (identifier "piVar8") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar8 != 0xb) {\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }" (if "if") (parenthesized_expression "(*piVar8 != 0xb)" (( "(") (binary_expression "*piVar8 != 0xb" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (!= "!=") (number_literal "0xb")) () ")")) (compound_statement "{\n        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;\n        *(int *)(puVar21 + -0x38c) = iVar9;\n        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;\n        FUN_000215b0();\n      }" ({ "{") (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xf572" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xf572"))) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cc4d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cc4d")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0001cbd2:\n  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" (statement_identifier "LAB_0001cbd2") (: ":") (if_statement "if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar21 + -0x30)" (* "*") (cast_expression "(int *)(puVar21 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x30)" (( "(") (binary_expression "puVar21 + -0x30" (identifier "puVar21") (+ "+") (number_literal "-0x30")) () ")")))) (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;\n    FUN_000299b0();\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d428;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d428" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1d428")) (; ";")) (expression_statement "FUN_000299b0();" (call_expression "FUN_000299b0()" (identifier "FUN_000299b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (while_statement "while( true ) {\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;\n    piVar14 = __errno_location();\n    if (*piVar14 != 4) break;\nLAB_0001d229:\n    uVar1 = piVar8[8];\n    uVar4 = piVar8[9];\n    uVar5 = piVar8[10];\n    uVar6 = piVar8[0xb];\n    if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }\n    if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }\n    uVar6 = piVar8[0x11];\n    if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }\n    iVar9 = *(int *)(puVar21 + -0x378);\n    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);\n    *(undefined4 *)(puVar21 + -0x388) = 2;\n    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;\n    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;\n    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;\n    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));\n    if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }\n  }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d316;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d316" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1d316")) (; ";")) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" (identifier "piVar14") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*piVar14 != 4) break;" (if "if") (parenthesized_expression "(*piVar14 != 4)" (( "(") (binary_expression "*piVar14 != 4" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (!= "!=") (number_literal "4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0001d229:\n    uVar1 = piVar8[8];" (statement_identifier "LAB_0001d229") (: ":") (expression_statement "uVar1 = piVar8[8];" (assignment_expression "uVar1 = piVar8[8]" (identifier "uVar1") (= "=") (subscript_expression "piVar8[8]" (identifier "piVar8") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (expression_statement "uVar4 = piVar8[9];" (assignment_expression "uVar4 = piVar8[9]" (identifier "uVar4") (= "=") (subscript_expression "piVar8[9]" (identifier "piVar8") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar5 = piVar8[10];" (assignment_expression "uVar5 = piVar8[10]" (identifier "uVar5") (= "=") (subscript_expression "piVar8[10]" (identifier "piVar8") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "uVar6 = piVar8[0xb];" (assignment_expression "uVar6 = piVar8[0xb]" (identifier "uVar6") (= "=") (subscript_expression "piVar8[0xb]" (identifier "piVar8") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0) {\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      *(undefined2 *)(puVar21 + -0x374) = 2;\n      *(undefined2 *)(puVar21 + -0x37c) = 6;\n      uVar22 = 4;\n    }" ({ "{") (if_statement "if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }" (if "if") (parenthesized_expression "((uVar5 == 0 && uVar4 == 0) && uVar6 == 0)" (( "(") (binary_expression "(uVar5 == 0 && uVar4 == 0) && uVar6 == 0" (parenthesized_expression "(uVar5 == 0 && uVar4 == 0)" (( "(") (binary_expression "uVar5 == 0 && uVar4 == 0" (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uVar4 == 0" (identifier "uVar4") (== "==") (number_literal "0"))) () ")")) (&& "&&") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        iVar9 = *(int *)(puVar21 + -0x378);\n        goto LAB_0001ceb0;\n      }" ({ "{") (expression_statement "iVar9 = *(int *)(puVar21 + -0x378);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x378)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x378)" (* "*") (cast_expression "(int *)(puVar21 + -0x378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001ceb0;" (goto "goto") (statement_identifier "LAB_0001ceb0") (; ";")) (} "}"))) (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xac)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xac)" (( "(") (binary_expression "puVar21 + -0xac" (identifier "puVar21") (+ "+") (number_literal "-0xac")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xa4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (number_literal "6")) (; ";")) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" (identifier "uVar22") (= "=") (number_literal "4")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined2 *)(puVar21 + -0xac) = 0;\n      *(undefined2 *)(puVar21 + -0xa4) = 0;\n      if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }\n    }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xac)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xac)" (( "(") (binary_expression "puVar21 + -0xac" (identifier "puVar21") (+ "+") (number_literal "-0xac")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 0;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 0" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xa4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar5 < uVar1) {\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }\n      else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" (if "if") (parenthesized_expression "(uVar5 < uVar1)" (( "(") (binary_expression "uVar5 < uVar1" (identifier "uVar5") (< "<") (identifier "uVar1")) () ")")) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0xac) = 1;\n        *(undefined2 *)(puVar21 + -0x374) = 3;\n        *(undefined2 *)(puVar21 + -0x37c) = 7;\n        uVar22 = 5;\n      }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0xac) = 1;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = 1" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xac)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xac)" (( "(") (binary_expression "puVar21 + -0xac" (identifier "puVar21") (+ "+") (number_literal "-0xac")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 3;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 3" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 7;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 7" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (number_literal "7")) (; ";")) (expression_statement "uVar22 = 5;" (assignment_expression "uVar22 = 5" (identifier "uVar22") (= "=") (number_literal "5")) (; ";")) (} "}")) (else_clause "else {\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" (else "else") (compound_statement "{\n        *(undefined2 *)(puVar21 + -0x374) = 2;\n        uVar22 = 4;\n        *(undefined2 *)(puVar21 + -0x37c) = 6;\n      }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0x374) = 2;" (assignment_expression "*(undefined2 *)(puVar21 + -0x374) = 2" (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar22 = 4;" (assignment_expression "uVar22 = 4" (identifier "uVar22") (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = 6;" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = 6" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (number_literal "6")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (uVar6 == 0) {\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }\n    else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;\n      if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }\n    }" ({ "{") (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) != 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) != 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" (* "*") (cast_expression "(byte *)(piVar8 + 0xe)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0xe)" (( "(") (binary_expression "piVar8 + 0xe" (identifier "piVar8") (+ "+") (number_literal "0xe")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0001d28f;" (goto "goto") (statement_identifier "LAB_0001d28f") (; ";"))) (if_statement "if (uVar1 != 0 || uVar4 != 0) {\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }" (if "if") (parenthesized_expression "(uVar1 != 0 || uVar4 != 0)" (( "(") (binary_expression "uVar1 != 0 || uVar4 != 0" (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);\n        goto LAB_0001d377;\n      }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);" (assignment_expression "*(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374)" (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(puVar21 + -0x374)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x374)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x374)" (( "(") (binary_expression "puVar21 + -0x374" (identifier "puVar21") (+ "+") (number_literal "-0x374")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001d377;" (goto "goto") (statement_identifier "LAB_0001d377") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined2 *)(puVar21 + -0xac) = uVar22;\n      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }\nLAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }\n    }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0xac) = uVar22;" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = uVar22" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xac)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xac)" (( "(") (binary_expression "puVar21 + -0xac" (identifier "puVar21") (+ "+") (number_literal "-0xac")) () ")")))) (= "=") (identifier "uVar22")) (; ";")) (if_statement "if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }" (if "if") (parenthesized_expression "((*(byte *)(piVar8 + 0xe) & 0x80) == 0)" (( "(") (binary_expression "(*(byte *)(piVar8 + 0xe) & 0x80) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 0xe) & 0x80)" (( "(") (binary_expression "*(byte *)(piVar8 + 0xe) & 0x80" (pointer_expression "*(byte *)(piVar8 + 0xe)" (* "*") (cast_expression "(byte *)(piVar8 + 0xe)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar8 + 0xe)" (( "(") (binary_expression "piVar8 + 0xe" (identifier "piVar8") (+ "+") (number_literal "0xe")) () ")")))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);\n      }" ({ "{") (labeled_statement "LAB_0001d377:\n        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);" (statement_identifier "LAB_0001d377") (: ":") (expression_statement "*(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);" (assignment_expression "*(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c)" (pointer_expression "*(undefined2 *)(puVar21 + -0xac)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xac)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xac)" (( "(") (binary_expression "puVar21 + -0xac" (identifier "puVar21") (+ "+") (number_literal "-0xac")) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")"))))) (; ";"))) (} "}"))) (labeled_statement "LAB_0001d28f:\n      if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" (statement_identifier "LAB_0001d28f") (: ":") (if_statement "if (uVar6 < uVar4) {\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" (if "if") (parenthesized_expression "(uVar6 < uVar4)" (( "(") (binary_expression "uVar6 < uVar4" (identifier "uVar6") (< "<") (identifier "uVar4")) () ")")) (compound_statement "{\n        *(undefined2 *)(puVar21 + -0xa4) = 1;\n      }" ({ "{") (expression_statement "*(undefined2 *)(puVar21 + -0xa4) = 1;" (assignment_expression "*(undefined2 *)(puVar21 + -0xa4) = 1" (pointer_expression "*(undefined2 *)(puVar21 + -0xa4)" (* "*") (cast_expression "(undefined2 *)(puVar21 + -0xa4)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")))) (expression_statement "uVar6 = piVar8[0x11];" (assignment_expression "uVar6 = piVar8[0x11]" (identifier "uVar6") (= "=") (subscript_expression "piVar8[0x11]" (identifier "piVar8") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (if_statement "if (uVar5 == 0) {\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }\n    else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" (if "if") (parenthesized_expression "(uVar5 == 0)" (( "(") (binary_expression "uVar5 == 0" (identifier "uVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }\n    }" ({ "{") (if_statement "if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }" (if "if") (parenthesized_expression "(((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0))" (( "(") (binary_expression "((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)" (parenthesized_expression "((uVar6 & 0x80) == 0)" (( "(") (binary_expression "(uVar6 & 0x80) == 0" (parenthesized_expression "(uVar6 & 0x80)" (( "(") (binary_expression "uVar6 & 0x80" (identifier "uVar6") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar4 != 0 || uVar1 != 0)" (( "(") (binary_expression "uVar4 != 0 || uVar1 != 0" (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        uVar19 = *(ushort *)(puVar21 + -0xa4);\n        goto LAB_0001d2c8;\n      }" ({ "{") (expression_statement "uVar19 = *(ushort *)(puVar21 + -0xa4);" (assignment_expression "uVar19 = *(ushort *)(puVar21 + -0xa4)" (identifier "uVar19") (= "=") (pointer_expression "*(ushort *)(puVar21 + -0xa4)" (* "*") (cast_expression "(ushort *)(puVar21 + -0xa4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0001d2c8;" (goto "goto") (statement_identifier "LAB_0001d2c8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" (else "else") (compound_statement "{\n      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;\n      *(ushort *)(puVar21 + -0xa4) = uVar19;\n      if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }\n    }" ({ "{") (expression_statement "uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;" (assignment_expression "uVar19 = *(ushort *)(puVar21 + -0xa4) | 4" (identifier "uVar19") (= "=") (binary_expression "*(ushort *)(puVar21 + -0xa4) | 4" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" (* "*") (cast_expression "(ushort *)(puVar21 + -0xa4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (| "|") (number_literal "4"))) (; ";")) (expression_statement "*(ushort *)(puVar21 + -0xa4) = uVar19;" (assignment_expression "*(ushort *)(puVar21 + -0xa4) = uVar19" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" (* "*") (cast_expression "(ushort *)(puVar21 + -0xa4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (if_statement "if ((uVar6 & 0x80) == 0) {\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }" (if "if") (parenthesized_expression "((uVar6 & 0x80) == 0)" (( "(") (binary_expression "(uVar6 & 0x80) == 0" (parenthesized_expression "(uVar6 & 0x80)" (( "(") (binary_expression "uVar6 & 0x80" (identifier "uVar6") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;\n      }" ({ "{") (labeled_statement "LAB_0001d2c8:\n        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;" (statement_identifier "LAB_0001d2c8") (: ":") (expression_statement "*(ushort *)(puVar21 + -0xa4) = uVar19 | 2;" (assignment_expression "*(ushort *)(puVar21 + -0xa4) = uVar19 | 2" (pointer_expression "*(ushort *)(puVar21 + -0xa4)" (* "*") (cast_expression "(ushort *)(puVar21 + -0xa4)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0xa4)" (( "(") (binary_expression "puVar21 + -0xa4" (identifier "puVar21") (+ "+") (number_literal "-0xa4")) () ")")))) (= "=") (binary_expression "uVar19 | 2" (identifier "uVar19") (| "|") (number_literal "2"))) (; ";"))) (} "}"))) (} "}")))) (expression_statement "iVar9 = *(int *)(puVar21 + -0x378);" (assignment_expression "iVar9 = *(int *)(puVar21 + -0x378)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(puVar21 + -0x378)" (* "*") (cast_expression "(int *)(puVar21 + -0x378)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x378)" (( "(") (binary_expression "puVar21 + -0x378" (identifier "puVar21") (+ "+") (number_literal "-0x378")) () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);" (assignment_expression "*(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (pointer_expression "*(uint *)(puVar21 + -900)" (* "*") (cast_expression "(uint *)(puVar21 + -900)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (unary_expression "-(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (- "-") (call_expression "(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(byte)" (( "(") (identifier "byte") () ")"))) (argument_list "(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1)" (( "(") (binary_expression "uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1" (binary_expression "uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0)" (binary_expression "uVar5 < uVar1" (identifier "uVar5") (< "<") (identifier "uVar1")) (& "&") (pointer_expression "*(byte *)(iVar9 + 0xf0)" (* "*") (cast_expression "(byte *)(iVar9 + 0xf0)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xf0)" (( "(") (binary_expression "iVar9 + 0xf0" (identifier "iVar9") (+ "+") (number_literal "0xf0")) () ")"))))) (^ "^") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x388) = 2;" (assignment_expression "*(undefined4 *)(puVar21 + -0x388) = 2" (pointer_expression "*(undefined4 *)(puVar21 + -0x388)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x388)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (binary_expression "puVar21 + -0xb0" (identifier "puVar21") (+ "+") (number_literal "-0xb0"))) (; ";")) (expression_statement "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;" (assignment_expression "*(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0" (pointer_expression "*(undefined1 **)(puVar21 + -0x37c)" (* "*") (cast_expression "(undefined1 **)(puVar21 + -0x37c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x37c)" (( "(") (binary_expression "puVar21 + -0x37c" (identifier "puVar21") (+ "+") (number_literal "-0x37c")) () ")")))) (= "=") (binary_expression "puVar21 + -0xb0" (identifier "puVar21") (+ "+") (number_literal "-0xb0"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d303;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d303" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d303")) (; ";")) (expression_statement "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900));" (assignment_expression "iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" (identifier "iVar12") (= "=") (call_expression "poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" (identifier "poll") (argument_list "(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),\n                  *(int *)(puVar21 + -900))" (( "(") (pointer_expression "*(pollfd **)(puVar21 + -0x38c)" (* "*") (cast_expression "(pollfd **)(puVar21 + -0x38c)" (( "(") (type_descriptor "pollfd **" (type_identifier "pollfd") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (, ",") (pointer_expression "*(nfds_t *)(puVar21 + -0x388)" (* "*") (cast_expression "(nfds_t *)(puVar21 + -0x388)" (( "(") (type_descriptor "nfds_t *" (type_identifier "nfds_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (, ",") (pointer_expression "*(int *)(puVar21 + -900)" (* "*") (cast_expression "(int *)(puVar21 + -900)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) () ")")))) (; ";")) (if_statement "if (-1 < iVar12) {\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }" (if "if") (parenthesized_expression "(-1 < iVar12)" (( "(") (binary_expression "-1 < iVar12" (number_literal "-1") (< "<") (identifier "iVar12")) () ")")) (compound_statement "{\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;\n      FUN_00018fb0();\n      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;\n      FUN_00019710();\n      goto LAB_0001d229;\n    }" ({ "{") (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d3d5" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1d3d5")) (; ";")) (expression_statement "FUN_00018fb0();" (call_expression "FUN_00018fb0()" (identifier "FUN_00018fb0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x380) = 0x1d3da;" (assignment_expression "*(undefined4 *)(puVar21 + -0x380) = 0x1d3da" (pointer_expression "*(undefined4 *)(puVar21 + -0x380)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x380)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x380)" (( "(") (binary_expression "puVar21 + -0x380" (identifier "puVar21") (+ "+") (number_literal "-0x380")) () ")")))) (= "=") (number_literal "0x1d3da")) (; ";")) (expression_statement "FUN_00019710();" (call_expression "FUN_00019710()" (identifier "FUN_00019710") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001d229;" (goto "goto") (statement_identifier "LAB_0001d229") (; ";")) (} "}"))) (} "}"))) (expression_statement "*(int *)(puVar21 + -0x38c) = *piVar14;" (assignment_expression "*(int *)(puVar21 + -0x38c) = *piVar14" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d32a;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d32a" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d32a")) (; ";")) (expression_statement "pcVar15 = strerror(*(int *)(puVar21 + -0x38c));" (assignment_expression "pcVar15 = strerror(*(int *)(puVar21 + -0x38c))" (identifier "pcVar15") (= "=") (call_expression "strerror(*(int *)(puVar21 + -0x38c))" (identifier "strerror") (argument_list "(*(int *)(puVar21 + -0x38c))" (( "(") (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) () ")")))) (; ";")) (expression_statement "*(char **)(puVar21 + -900) = pcVar15;" (assignment_expression "*(char **)(puVar21 + -900) = pcVar15" (pointer_expression "*(char **)(puVar21 + -900)" (* "*") (cast_expression "(char **)(puVar21 + -900)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + -900)" (( "(") (binary_expression "puVar21 + -900" (identifier "puVar21") (+ "+") (number_literal "-900")) () ")")))) (= "=") (identifier "pcVar15")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;" (assignment_expression "*(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2" (pointer_expression "*(int *)(puVar21 + -0x388)" (* "*") (cast_expression "(int *)(puVar21 + -0x388)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x388)" (( "(") (binary_expression "puVar21 + -0x388" (identifier "puVar21") (+ "+") (number_literal "-0x388")) () ")")))) (= "=") (binary_expression "(int)unaff_EBP + 0xe8d2" (cast_expression "(int)unaff_EBP" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_EBP")) (+ "+") (number_literal "0xe8d2"))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);" (assignment_expression "*(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18)" (pointer_expression "*(undefined4 *)(puVar21 + -0x38c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x38c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x18)" (( "(") (binary_expression "iVar9 + 0x18" (identifier "iVar9") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1d33d;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1d33d" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1d33d")) (; ";")) (expression_statement "FUN_000215b0();" (call_expression "FUN_000215b0()" (identifier "FUN_000215b0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0001ceb0:\n  *(int *)(puVar21 + -0x38c) = iVar9;" (statement_identifier "LAB_0001ceb0") (: ":") (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";"))) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cebb;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cebb" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cebb")) (; ";")) (expression_statement "FUN_00015540();" (call_expression "FUN_00015540()" (identifier "FUN_00015540") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;" (assignment_expression "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1" (pointer_expression "*(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51)" (* "*") (cast_expression "(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar9 + 0xdc) + 0x51)" (( "(") (binary_expression "*(int *)(iVar9 + 0xdc) + 0x51" (pointer_expression "*(int *)(iVar9 + 0xdc)" (* "*") (cast_expression "(int *)(iVar9 + 0xdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xdc)" (( "(") (binary_expression "iVar9 + 0xdc" (identifier "iVar9") (+ "+") (number_literal "0xdc")) () ")")))) (+ "+") (number_literal "0x51")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar21 + -0x38c) = iVar9;" (assignment_expression "*(int *)(puVar21 + -0x38c) = iVar9" (pointer_expression "*(int *)(puVar21 + -0x38c)" (* "*") (cast_expression "(int *)(puVar21 + -0x38c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x38c)" (( "(") (binary_expression "puVar21 + -0x38c" (identifier "puVar21") (+ "+") (number_literal "-0x38c")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x390) = 0x1cecd;" (assignment_expression "*(undefined4 *)(puVar21 + -0x390) = 0x1cecd" (pointer_expression "*(undefined4 *)(puVar21 + -0x390)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x390)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x390)" (( "(") (binary_expression "puVar21 + -0x390" (identifier "puVar21") (+ "+") (number_literal "-0x390")) () ")")))) (= "=") (number_literal "0x1cecd")) (; ";")) (expression_statement "MHD_resume_connection();" (call_expression "MHD_resume_connection()" (identifier "MHD_resume_connection") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0001cbd2;" (goto "goto") (statement_identifier "LAB_0001cbd2") (; ";")) (} "}")))

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

void function_1(type_1 *connection)

{
  type_2 *pMVar1;
  type_3 var_14;
  type_4 var_26;
  type_5 var_40;
  type_6 *var_43;
  type_7 *urh;
  type_1 *pMVar6;
  type_8 var_57;
  type_8 var_59;
  type_8 var_58;
  type_8 var_60;
  type_9 var_19;
  int var_7;
  ssize_t var_10;
  int *var_35;
  type_10 pVar15;
  type_11 var_32;
  int var_33;
  int var_25;
  type_12 var_17;
  char *var_4;
  type_7 *urh_00;
  type_13 write_ready;
  int var_34;
  type_14 var_61;
  char var_20;
  type_13 *puVar24;
  type_15 var_30;
  type_13 *var_5;
  type_13 *var_12;
  type_16 *unaff_EBP;
  type_17 uVar28;
  type_1 *pMVar29;
  int *var_36;
  type_18 *var_51;
  type_18 *var_45;
  int var_13;
  type_19 read_ready;
  int aiStack_3f8 [5];
  type_8 uStack_3e4;
  type_20 MStack_3e0;
  size_t sStack_3dc;
  type_8 uStack_3d8;
  int aiStack_3d4 [2];
  type_9 abStack_3cc [4];
  type_3 MStack_3c8;
  type_8 auStack_3c4 [14];
  type_18 uStack_38c;
  type_5 MStack_108;
  type_5 aMStack_104 [2];
  type_15 auStack_fc [58];
  int aiStack_88 [16];
  type_13 auStack_38 [8];
  type_18 uStack_30;
  type_21 **ppuStack_2c;
  
  if ((connection->daemon->options & 0x2000) != var_1) {
    if (connection->urh == (type_7 *)0x0) {
      var_2(connection);
      return;
    }
    var_3(connection->daemon,"Error: connection scheduled for \"upgrade\" cannot be suspended");
    return;
  }
  var_4 = "daemon.c";
  (*mhd_panic)(mhd_panic_cls,"daemon.c",0xae2,
               "Cannot suspend connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");
  uStack_30 = 0x1c719;
  pMVar1 = *(type_2 **)(var_4 + 0x18);
  ppuStack_2c = &_GLOBAL_OFFSET_TABLE_;
  if ((pMVar1->options & 0x2000) == var_1) {
    var_5 = &stack0xffffffb8;
    (*mhd_panic)(mhd_panic_cls,"daemon.c",0xaff,
                 "Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n");
LAB_0001c7df:
    *(char **)(var_5 + -4) = "Failed to unlock mutex.\n";
    *(type_18 *)(var_5 + -8) = 0xb06;
    *(char **)(var_5 + -0xc) = "daemon.c";
    var_12 = var_5 + -0x10;
    *(void **)(var_5 + -0x10) = mhd_panic_cls;
    *(type_18 *)(var_5 + -0x14) = 0x1c7fe;
    (*mhd_panic)(*(void **)(var_5 + -0x10),*(char **)(var_5 + -0xc),*(type_8 *)(var_5 + -8),
                 *(char **)(var_5 + -4));
  }
  else {
    unaff_EBP = &pMVar1->cleanup_connection_mutex;
    var_7 = var_6((type_22 *)unaff_EBP);
    var_12 = auStack_38;
    if (var_7 == 0) {
      var_4[0xf8] = '\x01';
      pMVar1->resuming = true;
      var_7 = var_8((type_22 *)unaff_EBP);
      var_5 = auStack_38;
      if (var_7 == 0) {
        var_7 = (pMVar1->itc).fd;
        if (((var_7 != -1) && (var_10 = var_9(var_7,&_MHD_itc_wr_data,8), var_10 < 1)) &&
           (var_35 = var_11(), *var_35 != 0xb)) {
          var_3(pMVar1,"Failed to signal resume via inter-thread communication channel.");
        }
        return;
      }
      goto LAB_0001c7df;
    }
  }
  *(char **)(var_12 + -4) = "Failed to lock mutex.\n";
  *(type_18 *)(var_12 + -8) = 0xb01;
  *(char **)(var_12 + -0xc) = "daemon.c";
  *(void **)(var_12 + -0x10) = mhd_panic_cls;
  *(type_18 *)(var_12 + -0x14) = 0x1c81d;
  (*mhd_panic)(*(void **)(var_12 + -0x10),*(char **)(var_12 + -0xc),*(type_8 *)(var_12 + -8),
               *(char **)(var_12 + -4));
  *(type_16 **)(var_12 + -0x14) = unaff_EBP;
  *(type_18 *)(var_12 + -0x18) = 0x1c826;
  var_7 = *(int *)(var_12 + -0x18);
  *(char **)(var_12 + -0x18) = var_4;
  *(type_2 **)(var_12 + -0x1c) = pMVar1;
  *(type_21 ***)(var_12 + -0x20) = &_GLOBAL_OFFSET_TABLE_;
  *(type_18 *)(var_12 + -0x30) = *(type_18 *)(var_13 + 0x14);
  pMVar29 = *(type_1 **)(var_12 + -0xc);
  pMVar1 = pMVar29->daemon;
  *(type_2 **)(var_12 + -0x37c) = pMVar1;
  var_14 = pMVar1->options;
  *(type_3 *)(var_12 + -0x378) = var_14;
  *(type_3 *)(var_12 + -0x370) = var_14 & var_15;
  *(type_18 *)(var_12 + -0x380) = 0x1c869;
  pVar15 = var_16();
  var_20 = '\0';
  *(type_13 **)(var_12 + -0x364) = var_12 + -0x338;
  (pMVar29->pid).ID = pVar15;
  var_17 = pMVar29->state;
  while (*(char *)(*(int *)(var_12 + -0x37c) + 0xe0) == '\0') {
    if (var_17 == var_18) goto LAB_0001cb7f;
    var_25 = *(int *)(*(int *)(var_12 + -0x37c) + 0xf0);
    var_19 = pMVar29->urh == (type_7 *)0x0 & pMVar29->suspended;
    var_12[-0x374] = var_19;
    if (var_19 == 0) {
      if (var_20 != '\0') {
        *(type_1 **)(var_12 + -0x38c) = pMVar29;
        *(type_18 *)(var_12 + -0x390) = 0x1cc03;
        var_21(*(type_1 **)(var_12 + -0x38c));
        *(type_1 **)(var_12 + -0x38c) = pMVar29;
        *(type_18 *)(var_12 + -0x390) = 0x1cc0b;
        var_22(*(type_1 **)(var_12 + -0x38c));
      }
      if ((pMVar29->event_loop_info == var_23) ||
         ((pMVar29->tls_read_ready != false &&
          (pMVar29->event_loop_info == var_24)))) {
        *(type_18 *)(var_12 + -0x34c) = 0;
        *(type_13 **)(var_12 + -0x378) = var_12 + -0x34c;
        var_25 = *(int *)(var_12 + -0x370);
        *(type_18 *)(var_12 + -0x348) = 0;
        if (var_25 == 0) goto LAB_0001c927;
LAB_0001cab4:
        var_40 = pMVar29->socket_fd;
        *(type_18 *)(var_12 + -0x334) = 0;
        *(type_5 *)(var_12 + -0x338) = var_40;
        var_26 = pMVar29->event_loop_info;
        if (var_26 == var_27) {
          *(type_17 *)(var_12 + -0x334) = 6;
        }
        else if (var_26 == var_24) {
          *(type_17 *)(var_12 + -0x334) = 3;
        }
        else if (var_26 == var_23) {
          *(type_17 *)(var_12 + -0x334) = 2;
        }
        else if (var_26 == var_28) goto LAB_0001cb8d;
        var_25 = -1;
        if (*(int *)(var_12 + -0x378) != 0) {
          var_25 = *(int *)(var_12 + -0x34c) * 1000;
        }
        *(int *)(var_12 + -900) = var_25;
        *(type_18 *)(var_12 + -0x388) = 1;
        *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(var_12 + -0x364);
        *(type_18 *)(var_12 + -0x390) = 0x1cb15;
        var_25 = var_29(*(type_23 **)(var_12 + -0x38c),*(type_24 *)(var_12 + -0x388),
                      *(int *)(var_12 + -900));
        if (var_25 < 0) goto LAB_0001cb20;
        var_30 = *(type_15 *)(var_12 + -0x332);
        read_ready = (type_19)((type_9)var_30 & 1);
        write_ready = (type_9)(var_30 >> 2) & 1;
        *(type_8 *)(var_12 + -0x38c) = (type_8)((var_30 & 0xba) != 0);
      }
      else {
        *(type_18 *)(var_12 + -0x378) = 0;
        if (0 < var_25) {
          *(type_18 *)(var_12 + -0x380) = 0x1c8f3;
          var_32 = var_31();
          var_33 = var_32 - pMVar29->last_activity;
          *(type_18 *)(var_12 + -0x348) = 0;
          var_34 = 0;
          if (var_33 <= var_25) {
            var_34 = var_25 - var_33;
          }
          *(int *)(var_12 + -0x34c) = var_34;
          *(type_13 **)(var_12 + -0x378) = var_12 + -0x34c;
        }
        var_25 = *(int *)(var_12 + -0x370);
        if (var_25 != 0) goto LAB_0001cab4;
LAB_0001c927:
        *(type_13 **)(var_12 + -0x368) = var_12 + -0x330;
        var_35 = (int *)(var_12 + -0x330);
        for (var_34 = 0x20; var_34 != 0; var_34 = var_34 + -1) {
          *var_35 = var_25;
          var_35 = var_35 + 1;
        }
        *(type_13 **)(var_12 + -0x36c) = var_12 + -0x2b0;
        var_35 = (int *)(var_12 + -0x2b0);
        for (var_34 = 0x20; var_34 != 0; var_34 = var_34 + -1) {
          *var_35 = var_25;
          var_35 = var_35 + 1;
        }
        var_35 = (int *)(var_12 + -0x230);
        var_36 = var_35;
        for (var_34 = 0x20; var_34 != 0; var_34 = var_34 + -1) {
          *var_36 = var_25;
          var_36 = var_36 + 1;
        }
        var_26 = pMVar29->event_loop_info;
        *(type_18 *)(var_12 + -0x354) = 0xffffffff;
        if (var_26 == var_27) {
          *(int **)(var_12 + -0x360) = var_35;
          *(type_18 *)(var_12 + -0x380) = 0x400;
          *(type_13 **)(var_12 + -900) = var_12 + -0x354;
          *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x36c);
LAB_0001cd52:
          *(type_5 *)(var_12 + -0x38c) = pMVar29->socket_fd;
          *(type_18 *)(var_12 + -0x390) = 0x1cd5f;
          var_25 = var_37(*(type_5 *)(var_12 + -0x38c),
                                      *(type_25 **)(var_12 + -0x388),
                                      *(type_5 **)(var_12 + -900),*(type_8 *)(var_12 + -0x380));
          if (var_25 == 0) {
            *(int *)(var_12 + -0x388) = var_7 + 0xe8b6;
            *(type_2 **)(var_12 + -0x38c) = pMVar29->daemon;
            *(type_18 *)(var_12 + -0x390) = 0x1cee7;
            var_3(*(type_2 **)(var_12 + -0x38c),*(char **)(var_12 + -0x388));
            goto LAB_0001cb8d;
          }
          var_35 = *(int **)(var_12 + -0x360);
          var_25 = *(int *)(var_12 + -0x354) + 1;
        }
        else {
          if (var_26 == var_24) {
            *(int **)(var_12 + -0x360) = var_35;
            *(type_18 *)(var_12 + -0x380) = 0x400;
            *(type_13 **)(var_12 + -900) = var_12 + -0x354;
            *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x368);
            goto LAB_0001cd52;
          }
          if (var_26 == var_23) {
            *(type_18 *)(var_12 + -0x380) = 0x400;
            *(type_13 **)(var_12 + -900) = var_12 + -0x354;
            *(int **)(var_12 + -0x388) = var_35;
            *(int **)(var_12 + -0x360) = var_35;
            goto LAB_0001cd52;
          }
          if (var_26 == var_28) goto LAB_0001cb8d;
          var_25 = 0;
        }
        *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(var_12 + -0x378);
        *(int **)(var_12 + -0x390) = var_35;
        *(type_18 *)(var_12 + -0x394) = *(type_18 *)(var_12 + -0x36c);
        *(type_18 *)(var_12 + -0x398) = *(type_18 *)(var_12 + -0x368);
        *(int *)(var_12 + -0x39c) = var_25;
        *(type_18 *)(var_12 + -0x3a0) = 0x1c9a4;
        var_25 = var_38(*(int *)(var_12 + -0x39c),*(type_25 **)(var_12 + -0x398),
                        *(type_25 **)(var_12 + -0x394),*(type_25 **)(var_12 + -0x390),
                        *(type_26 **)(var_12 + -0x38c));
        if (var_25 < 0) {
          *(type_18 *)(var_12 + -0x380) = 0x1cc5d;
          var_35 = var_11();
          var_25 = *var_35;
          if (var_25 != 4) {
            *(int *)(var_12 + -0x38c) = var_25;
            goto LAB_0001cc6c;
          }
          goto LAB_0001cd30;
        }
        *(type_5 *)(var_12 + -0x38c) = pMVar29->socket_fd;
        *(type_18 *)(var_12 + -0x390) = 0x1c9c2;
        var_25 = var_39();
        var_40 = pMVar29->socket_fd;
        var_19 = (type_9)(var_40 >> 0x1f);
        *(type_8 *)(var_12 + -0x378) =
             (type_8)((*(type_8 *)(var_12 + var_25 * 4 + -0x230) &
                    1 << (((char)var_40 + (var_19 >> 3) & 0x1f) - (var_19 >> 3) & 0x1f)) != 0);
        *(type_5 *)(var_12 + -0x38c) = var_40;
        *(type_18 *)(var_12 + -0x390) = 0x1c9fb;
        var_25 = var_39();
        var_40 = pMVar29->socket_fd;
        var_19 = (type_9)(var_40 >> 0x1f);
        *(type_8 *)(var_12 + -0x36c) =
             (type_8)((*(type_8 *)(var_12 + var_25 * 4 + -0x2b0) &
                    1 << (((char)var_40 + (var_19 >> 3) & 0x1f) - (var_19 >> 3) & 0x1f)) != 0);
        *(type_5 *)(var_12 + -0x38c) = var_40;
        *(type_18 *)(var_12 + -0x390) = 0x1ca35;
        var_25 = var_39();
        var_19 = (type_9)(pMVar29->socket_fd >> 0x1f);
        read_ready = (*(type_8 *)(var_12 + var_25 * 4 + -0x330) &
                     1 << (((char)pMVar29->socket_fd + (var_19 >> 3) & 0x1f) - (var_19 >> 3) & 0x1f)
                     ) != 0;
        *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(var_12 + -0x378);
        write_ready = (type_13)*(type_18 *)(var_12 + -0x36c);
      }
      *(type_18 *)(var_12 + -0x390) = 0x1ca66;
      var_25 = var_41(pMVar29,read_ready,(type_19)write_ready,(type_19)var_12[-0x38c]);
      if (var_25 == 0) goto LAB_0001cb8d;
      var_17 = pMVar29->state;
      if (var_17 != var_42) goto LAB_0001ca80;
      var_43 = *(type_6 **)(*(int *)(var_12 + -0x37c) + 0x48);
      if ((var_43 != (type_6 *)0x0) && (pMVar29->client_aware != false)) {
        *(type_18 *)(var_12 + -0x380) = 0;
        *(void ***)(var_12 + -900) = &pMVar29->client_context;
        *(type_1 **)(var_12 + -0x388) = pMVar29;
        *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(*(int *)(var_12 + -0x37c) + 0x4c);
        *(type_18 *)(var_12 + -0x390) = 0x1ce83;
        (*var_43)();
      }
      urh = pMVar29->urh;
      pMVar29->client_aware = false;
      var_14 = pMVar29->daemon->options;
      if ((var_14 & (var_15|var_44)) == var_44) {
        *(type_1 **)(var_12 + -0x36c) = pMVar29;
LAB_0001cef5:
        if (urh->in_buffer_size != 0) goto LAB_0001cf15;
LAB_0001cefc:
        if (((urh->out_buffer_size != 0) || (urh->in_buffer_used != 0)) ||
           (urh->out_buffer_used != 0)) {
LAB_0001cf15:
          *(type_13 **)(var_12 + -0x37c) = var_12 + -0x1b0;
          var_45 = (type_18 *)(var_12 + -0x1b0);
          for (var_25 = 0x20; var_25 != 0; var_25 = var_25 + -1) {
            *var_45 = 0;
            var_45 = var_45 + 1;
          }
          *(type_13 **)(var_12 + -0x378) = var_12 + -0x130;
          var_45 = (type_18 *)(var_12 + -0x130);
          for (var_25 = 0x20; var_25 != 0; var_25 = var_25 + -1) {
            *var_45 = 0;
            var_45 = var_45 + 1;
          }
          *(type_13 **)(var_12 + -0x374) = var_12 + -0xb0;
          var_45 = (type_18 *)(var_12 + -0xb0);
          for (var_25 = 0x20; var_25 != 0; var_25 = var_25 + -1) {
            *var_45 = 0;
            var_45 = var_45 + 1;
          }
          *(type_18 *)(var_12 + -0x350) = 0xffffffff;
          pMVar29 = urh->connection;
          var_25 = (urh->mhd).socket;
          var_12[-0x370] = 1;
          var_34 = pMVar29->socket_fd;
          if (var_34 == -1) {
            if (var_25 != -1) {
LAB_0001d0b7:
              if (urh->out_buffer_used < urh->out_buffer_size) {
                *(type_18 *)(var_12 + -0x380) = 0x400;
                *(type_13 **)(var_12 + -900) = var_12 + -0x350;
                *(type_13 **)(var_12 + -0x368) = var_12 + -0x350;
                *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x37c);
                *(int *)(var_12 + -0x38c) = var_25;
                *(type_18 *)(var_12 + -0x390) = 0x1d0dd;
                var_34 = var_37(*(type_5 *)(var_12 + -0x38c),
                                            *(type_25 **)(var_12 + -0x388),
                                            *(type_5 **)(var_12 + -900),
                                            *(type_8 *)(var_12 + -0x380));
                if (var_34 != 0) goto LAB_0001cfbd;
                puVar24 = *(type_13 **)(var_12 + -0x368);
                if (urh->in_buffer_used != 0) {
                  var_12[-0x370] = 0;
                  goto LAB_0001d14c;
                }
LAB_0001d0f3:
                if (((urh->mhd).celi & var_46) != var_47)
                goto LAB_0001d3f9;
                var_12[-0x370] = 0;
              }
              else {
LAB_0001cfbd:
                puVar24 = var_12 + -0x350;
                if (urh->in_buffer_used != 0) {
LAB_0001d14c:
                  *(type_18 *)(var_12 + -0x380) = 0x400;
                  *(type_13 **)(var_12 + -900) = puVar24;
                  *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x378);
                  *(int *)(var_12 + -0x38c) = var_25;
                  *(type_18 *)(var_12 + -0x390) = 0x1d15e;
                  var_34 = var_37(*(type_5 *)(var_12 + -0x38c),
                                              *(type_25 **)(var_12 + -0x388),
                                              *(type_5 **)(var_12 + -900),
                                              *(type_8 *)(var_12 + -0x380));
                  if (var_34 == 0) goto LAB_0001d0f3;
                }
                if (((urh->mhd).celi & var_46) != var_47)
                goto LAB_0001d000;
              }
              if (((urh->out_buffer_size != 0) || (urh->in_buffer_size != 0)) ||
                 (urh->in_buffer_used != 0)) {
                *(type_18 *)(var_12 + -0x380) = 0x400;
                *(type_13 **)(var_12 + -900) = var_12 + -0x350;
                *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x374);
                *(int *)(var_12 + -0x38c) = var_25;
                *(type_18 *)(var_12 + -0x390) = 0x1cffd;
                var_37(*(type_5 *)(var_12 + -0x38c),*(type_25 **)(var_12 + -0x388),
                                   *(type_5 **)(var_12 + -900),*(type_8 *)(var_12 + -0x380));
              }
              goto LAB_0001d000;
            }
LAB_0001d065:
            *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(var_12 + -0x374);
            *(type_18 *)(var_12 + -0x390) = 0x1d07b;
            var_48(urh,*(type_25 **)(var_12 + -0x37c),*(type_25 **)(var_12 + -0x378),
                           *(type_25 **)(var_12 + -0x38c));
            *(type_18 *)(var_12 + -0x390) = 0x1d082;
            var_49(urh);
            if (urh->in_buffer_size == 0) goto LAB_0001cefc;
            goto LAB_0001cf15;
          }
          if (urh->in_buffer_used < urh->in_buffer_size) {
            *(type_18 *)(var_12 + -0x380) = 0x400;
            *(type_13 **)(var_12 + -900) = var_12 + -0x350;
            *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x37c);
            *(int *)(var_12 + -0x38c) = var_34;
            *(int *)(var_12 + -0x368) = var_34;
            *(type_18 *)(var_12 + -0x390) = 0x1d185;
            var_33 = var_37(*(type_5 *)(var_12 + -0x38c),
                                        *(type_25 **)(var_12 + -0x388),
                                        *(type_5 **)(var_12 + -900),*(type_8 *)(var_12 + -0x380)
                                       );
            var_34 = *(int *)(var_12 + -0x368);
            var_12[-0x370] = var_33 != 0;
          }
          if (urh->out_buffer_used == 0) {
LAB_0001cf8d:
            if (((urh->app).celi & var_46) == var_47) {
LAB_0001cf97:
              if (((urh->in_buffer_size != 0) || (urh->out_buffer_size != 0)) ||
                 (urh->out_buffer_used != 0)) {
                *(type_18 *)(var_12 + -0x380) = 0x400;
                *(type_13 **)(var_12 + -900) = var_12 + -0x350;
                *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x374);
                *(int *)(var_12 + -0x38c) = var_34;
                *(type_18 *)(var_12 + -0x390) = 0x1d0ab;
                var_37(*(type_5 *)(var_12 + -0x38c),*(type_25 **)(var_12 + -0x388),
                                   *(type_5 **)(var_12 + -900),*(type_8 *)(var_12 + -0x380));
                goto LAB_0001d0ae;
              }
              if (var_25 != -1) goto LAB_0001cfbd;
            }
            else {
LAB_0001d0ae:
              if (var_25 != -1) goto LAB_0001d0b7;
            }
LAB_0001d000:
            if (var_12[-0x370] != '\0') {
              if (*(int *)(var_12 + -0x350) == -1) goto LAB_0001d065;
              puVar24 = (type_13 *)0x0;
              if ((*(char *)(*(int *)(var_12 + -0x36c) + 0xf0) != '\0') &&
                 (urh->in_buffer_used < urh->in_buffer_size)) {
                *(type_18 *)(var_12 + -0x344) = 0;
                puVar24 = var_12 + -0x344;
                *(type_18 *)(var_12 + -0x340) = 0;
              }
              *(type_13 **)(var_12 + -0x38c) = puVar24;
              *(type_18 *)(var_12 + -0x390) = *(type_18 *)(var_12 + -0x374);
              *(type_18 *)(var_12 + -0x394) = *(type_18 *)(var_12 + -0x378);
              *(type_18 *)(var_12 + -0x398) = *(type_18 *)(var_12 + -0x37c);
              *(int *)(var_12 + -0x39c) = *(int *)(var_12 + -0x350) + 1;
              *(type_18 *)(var_12 + -0x3a0) = 0x1d05a;
              var_25 = var_38(*(int *)(var_12 + -0x39c),*(type_25 **)(var_12 + -0x398),
                              *(type_25 **)(var_12 + -0x394),*(type_25 **)(var_12 + -0x390),
                              *(type_26 **)(var_12 + -0x38c));
              if (var_25 < 0) {
                *(type_18 *)(var_12 + -0x380) = 0x1d116;
                var_35 = var_11();
                var_25 = *var_35;
                if (var_25 == 4) goto LAB_0001cef5;
                pMVar29 = *(type_1 **)(var_12 + -0x36c);
                *(int *)(var_12 + -0x38c) = var_25;
                *(type_18 *)(var_12 + -0x390) = 0x1d12e;
                var_4 = var_50(*(int *)(var_12 + -0x38c));
                *(char **)(var_12 + -0x390) = var_4;
                *(int *)(var_12 + -0x394) = var_25;
                *(int *)(var_12 + -0x398) = var_7 + 0xf552;
                *(type_2 **)(var_12 + -0x39c) = pMVar29->daemon;
                *(type_18 *)(var_12 + -0x3a0) = 0x1d13f;
                var_3(*(type_2 **)(var_12 + -0x39c),*(char **)(var_12 + -0x398));
                goto LAB_0001ceb0;
              }
              goto LAB_0001d065;
            }
          }
          else {
            *(type_18 *)(var_12 + -0x380) = 0x400;
            *(type_13 **)(var_12 + -900) = var_12 + -0x350;
            *(type_18 *)(var_12 + -0x388) = *(type_18 *)(var_12 + -0x378);
            *(int *)(var_12 + -0x38c) = var_34;
            *(int *)(var_12 + -0x368) = var_34;
            *(type_18 *)(var_12 + -0x390) = 0x1d1b2;
            var_33 = var_37(*(type_5 *)(var_12 + -0x38c),
                                        *(type_25 **)(var_12 + -0x388),
                                        *(type_5 **)(var_12 + -900),*(type_8 *)(var_12 + -0x380)
                                       );
            var_34 = *(int *)(var_12 + -0x368);
            if (var_33 != 0) goto LAB_0001cf8d;
            if (((urh->app).celi & var_46) == var_47) {
              var_12[-0x370] = 0;
              goto LAB_0001cf97;
            }
            if (var_25 != -1) {
              var_12[-0x370] = 0;
              goto LAB_0001d0b7;
            }
          }
LAB_0001d3f9:
          pMVar29 = *(type_1 **)(var_12 + -0x36c);
          *(int *)(var_12 + -0x388) = var_7 + 0xe8eb;
          *(type_2 **)(var_12 + -0x38c) = pMVar29->daemon;
          *(type_18 *)(var_12 + -0x390) = 0x1d411;
          var_3(*(type_2 **)(var_12 + -0x38c),*(char **)(var_12 + -0x388));
          goto LAB_0001ceb0;
        }
        pMVar29 = *(type_1 **)(var_12 + -0x36c);
        goto LAB_0001ceb0;
      }
      if ((var_14 & var_44) == var_1) goto LAB_0001ceb0;
      *(type_18 *)(var_12 + -0xb0) = 0;
      *(type_18 *)(var_12 + -0xa8) = 0;
      *(type_18 *)(var_12 + -0xac) = 0;
      *(type_18 *)(var_12 + -0xa4) = 0;
      pMVar6 = urh->connection;
      *(type_1 **)(var_12 + -0x378) = pMVar29;
      *(type_5 *)(var_12 + -0xb0) = pMVar6->socket_fd;
      *(type_5 *)(var_12 + -0xa8) = (urh->mhd).socket;
      goto LAB_0001d229;
    }
    if (*(int *)(var_12 + -0x370) == 0) {
      var_45 = (type_18 *)(var_12 + -0x330);
      var_51 = var_45;
      for (var_25 = 0x20; var_25 != 0; var_25 = var_25 + -1) {
        *var_51 = 0;
        var_51 = var_51 + 1;
      }
      *(type_18 *)(var_12 + -0x380) = 0x400;
      *(type_18 *)(var_12 + -900) = 0;
      *(type_18 **)(var_12 + -0x388) = var_45;
      *(type_18 **)(var_12 + -0x378) = var_45;
      *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(*(int *)(var_12 + -0x37c) + 0xdc);
      *(type_18 *)(var_12 + -0x390) = 0x1ccd7;
      var_25 = var_37(*(type_5 *)(var_12 + -0x38c),*(type_25 **)(var_12 + -0x388),
                                  *(type_5 **)(var_12 + -900),*(type_8 *)(var_12 + -0x380));
      if (var_25 == 0) {
        *(int *)(var_12 + -0x388) = var_7 + 0xe8b6;
        *(type_2 **)(var_12 + -0x38c) = pMVar29->daemon;
        *(type_18 *)(var_12 + -0x390) = 0x1d3f1;
        var_3(*(type_2 **)(var_12 + -0x38c),*(char **)(var_12 + -0x388));
        goto LAB_0001cb8d;
      }
      *(type_18 *)(var_12 + -0x38c) = 0;
      *(type_18 *)(var_12 + -0x390) = 0;
      *(type_18 *)(var_12 + -0x394) = 0;
      *(type_18 *)(var_12 + -0x398) = *(type_18 *)(var_12 + -0x378);
      var_25 = *(int *)(*(int *)(var_12 + -0x37c) + 0xdc);
      *(int *)(var_12 + -0x378) = var_25;
      *(int *)(var_12 + -0x39c) = var_25 + 1;
      *(type_18 *)(var_12 + -0x3a0) = 0x1cd07;
      var_25 = var_38(*(int *)(var_12 + -0x39c),*(type_25 **)(var_12 + -0x398),
                      *(type_25 **)(var_12 + -0x394),*(type_25 **)(var_12 + -0x390),
                      *(type_26 **)(var_12 + -0x38c));
      if (-1 < var_25) goto LAB_0001cdf2;
      *(type_18 *)(var_12 + -0x380) = 0x1cd17;
      var_35 = var_11();
      var_25 = *var_35;
      if (var_25 != 4) {
        *(int *)(var_12 + -0x38c) = var_25;
LAB_0001cc6c:
        *(type_18 *)(var_12 + -0x390) = 0x1cc71;
        var_4 = var_50(*(int *)(var_12 + -0x38c));
        *(char **)(var_12 + -0x390) = var_4;
        *(int *)(var_12 + -0x394) = var_25;
        *(int *)(var_12 + -0x398) = var_7 + 0xf552;
        *(type_2 **)(var_12 + -0x39c) = pMVar29->daemon;
        *(type_18 *)(var_12 + -0x3a0) = 0x1cc82;
        var_3(*(type_2 **)(var_12 + -0x39c),*(char **)(var_12 + -0x398));
        if (pMVar29->state == var_18) goto LAB_0001cb7f;
        goto LAB_0001cb5c;
      }
    }
    else {
      *(type_18 *)(var_12 + -0x334) = 1;
      *(type_18 *)(var_12 + -0x338) = *(type_18 *)(*(int *)(var_12 + -0x37c) + 0xdc);
      *(type_18 *)(var_12 + -900) = 0xffffffff;
      *(type_18 *)(var_12 + -0x388) = 1;
      *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(var_12 + -0x364);
      *(type_18 *)(var_12 + -0x390) = 0x1cde7;
      var_25 = var_29(*(type_23 **)(var_12 + -0x38c),*(type_24 *)(var_12 + -0x388),
                    *(int *)(var_12 + -900));
      if (-1 < var_25) {
LAB_0001cdf2:
        *(type_18 *)(var_12 + -900) = 8;
        *(type_13 **)(var_12 + -0x388) = var_12 + -0x344;
        *(type_18 *)(var_12 + -0x38c) = *(type_18 *)(*(int *)(var_12 + -0x37c) + 0xdc);
        *(type_18 *)(var_12 + -0x390) = 0x1ce0d;
        var_52(*(int *)(var_12 + -0x38c),*(void **)(var_12 + -0x388),*(size_t *)(var_12 + -900));
        var_17 = pMVar29->state;
        goto LAB_0001ca80;
      }
LAB_0001cb20:
      *(type_18 *)(var_12 + -0x380) = 0x1cb25;
      var_35 = var_11();
      if (*var_35 != 4) {
        *(int *)(var_12 + -0x38c) = *var_35;
        *(type_18 *)(var_12 + -0x390) = 0x1cb3b;
        var_4 = var_50(*(int *)(var_12 + -0x38c));
        *(char **)(var_12 + -900) = var_4;
        *(int *)(var_12 + -0x388) = var_7 + 0xe8d2;
        *(type_2 **)(var_12 + -0x38c) = pMVar29->daemon;
        *(type_18 *)(var_12 + -0x390) = 0x1cb4e;
        var_3(*(type_2 **)(var_12 + -0x38c),*(char **)(var_12 + -0x388));
        var_17 = pMVar29->state;
        break;
      }
    }
LAB_0001cd30:
    var_17 = pMVar29->state;
LAB_0001ca80:
    var_20 = var_12[-0x374];
  }
  if (var_17 != var_18) {
LAB_0001cb5c:
    *(type_8 *)(var_12 + -0x388) =
         (-(type_8)(*(char *)(*(int *)(var_12 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;
    *(type_1 **)(var_12 + -0x38c) = pMVar29;
    *(type_18 *)(var_12 + -0x390) = 0x1cb7c;
    var_53
              (*(type_1 **)(var_12 + -0x38c),
               *(type_20 *)(var_12 + -0x388));
  }
LAB_0001cb7f:
  *(type_1 **)(var_12 + -0x38c) = pMVar29;
  *(type_18 *)(var_12 + -0x390) = 0x1cb8a;
  var_22(*(type_1 **)(var_12 + -0x38c));
LAB_0001cb8d:
  if (pMVar29->response != (type_27 *)0x0) {
    *(type_27 **)(var_12 + -0x38c) = pMVar29->response;
    *(type_18 *)(var_12 + -0x390) = 0x1cb9f;
    var_54(*(type_27 **)(var_12 + -0x38c));
    pMVar29->response = (type_27 *)0x0;
  }
  var_25 = pMVar29->socket_fd;
  if (var_25 != -1) {
    *(type_18 *)(var_12 + -0x388) = 1;
    *(int *)(var_12 + -0x38c) = var_25;
    *(type_18 *)(var_12 + -0x390) = 0x1cbc1;
    var_55(*(int *)(var_12 + -0x38c),*(int *)(var_12 + -0x388));
  }
  var_25 = *(int *)(var_12 + -0x37c);
  var_34 = *(int *)(var_25 + 0xdc);
  if (var_34 != -1) {
    *(type_18 *)(var_12 + -900) = 8;
    *(int *)(var_12 + -0x388) = var_7 + 0xffca;
    *(int *)(var_12 + -0x38c) = var_34;
    *(type_18 *)(var_12 + -0x390) = 0x1cc2c;
    var_10 = var_9(*(int *)(var_12 + -0x38c),*(void **)(var_12 + -0x388),
                   *(size_t *)(var_12 + -900));
    if (var_10 < 1) {
      *(type_18 *)(var_12 + -0x380) = 0x1cc38;
      var_35 = var_11();
      if (*var_35 != 0xb) {
        *(int *)(var_12 + -0x388) = var_7 + 0xf572;
        *(int *)(var_12 + -0x38c) = var_25;
        *(type_18 *)(var_12 + -0x390) = 0x1cc4d;
        var_3(*(type_2 **)(var_12 + -0x38c),*(char **)(var_12 + -0x388));
      }
    }
  }
LAB_0001cbd2:
  if (*(int *)(var_12 + -0x30) != *(int *)(var_13 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(type_18 *)(var_12 + -0x380) = 0x1d428;
    var_56();
  }
  return;
  while( true ) {
    *(type_18 *)(var_12 + -0x380) = 0x1d316;
    var_35 = var_11();
    if (*var_35 != 4) break;
LAB_0001d229:
    var_57 = urh->in_buffer_size;
    var_59 = urh->out_buffer_size;
    var_58 = urh->in_buffer_used;
    var_60 = urh->out_buffer_used;
    if (var_57 == 0) {
      if ((var_58 == 0 && var_59 == 0) && var_60 == 0) {
        pMVar29 = *(type_1 **)(var_12 + -0x378);
        goto LAB_0001ceb0;
      }
      *(type_17 *)(var_12 + -0xac) = 0;
      *(type_17 *)(var_12 + -0xa4) = 0;
      *(type_17 *)(var_12 + -0x374) = 2;
      *(type_17 *)(var_12 + -0x37c) = 6;
      uVar28 = 4;
    }
    else {
      *(type_17 *)(var_12 + -0xac) = 0;
      *(type_17 *)(var_12 + -0xa4) = 0;
      if (var_58 < var_57) {
        *(type_17 *)(var_12 + -0xac) = 1;
        *(type_17 *)(var_12 + -0x374) = 3;
        *(type_17 *)(var_12 + -0x37c) = 7;
        uVar28 = 5;
      }
      else {
        *(type_17 *)(var_12 + -0x374) = 2;
        uVar28 = 4;
        *(type_17 *)(var_12 + -0x37c) = 6;
      }
    }
    if (var_60 == 0) {
      if (((urh->app).celi & var_46) != var_47) goto LAB_0001d28f;
      if (var_57 != 0 || var_59 != 0) {
        *(type_17 *)(var_12 + -0x37c) = *(type_17 *)(var_12 + -0x374);
        goto LAB_0001d377;
      }
    }
    else {
      *(type_17 *)(var_12 + -0xac) = uVar28;
      if (((urh->app).celi & var_46) == var_47) {
LAB_0001d377:
        *(type_17 *)(var_12 + -0xac) = *(type_17 *)(var_12 + -0x37c);
      }
LAB_0001d28f:
      if (var_60 < var_59) {
        *(type_17 *)(var_12 + -0xa4) = 1;
      }
    }
    var_61 = (urh->mhd).celi & var_46;
    if (var_58 == 0) {
      if ((var_61 == var_47) && (var_59 != 0 || var_57 != 0)) {
        var_30 = *(type_15 *)(var_12 + -0xa4);
        goto LAB_0001d2c8;
      }
    }
    else {
      var_30 = *(type_15 *)(var_12 + -0xa4) | 4;
      *(type_15 *)(var_12 + -0xa4) = var_30;
      if (var_61 == var_47) {
LAB_0001d2c8:
        *(type_15 *)(var_12 + -0xa4) = var_30 | 2;
      }
    }
    pMVar29 = *(type_1 **)(var_12 + -0x378);
    *(type_8 *)(var_12 + -900) = -(type_8)(type_9)(var_58 < var_57 & pMVar29->tls_read_ready ^ 1);
    *(type_18 *)(var_12 + -0x388) = 2;
    *(type_13 **)(var_12 + -0x38c) = var_12 + -0xb0;
    *(type_13 **)(var_12 + -0x37c) = var_12 + -0xb0;
    *(type_18 *)(var_12 + -0x390) = 0x1d303;
    var_25 = var_29(*(type_23 **)(var_12 + -0x38c),*(type_24 *)(var_12 + -0x388),
                  *(int *)(var_12 + -900));
    if (-1 < var_25) {
      *(type_18 *)(var_12 + -0x380) = 0x1d3d5;
      urh_00 = urh;
      var_62(urh,*(type_23 **)(var_12 + -0x37c));
      *(type_18 *)(var_12 + -0x380) = 0x1d3da;
      var_49(urh_00);
      goto LAB_0001d229;
    }
  }
  *(int *)(var_12 + -0x38c) = *var_35;
  *(type_18 *)(var_12 + -0x390) = 0x1d32a;
  var_4 = var_50(*(int *)(var_12 + -0x38c));
  *(char **)(var_12 + -900) = var_4;
  *(int *)(var_12 + -0x388) = var_7 + 0xe8d2;
  *(type_2 **)(var_12 + -0x38c) = pMVar29->daemon;
  *(type_18 *)(var_12 + -0x390) = 0x1d33d;
  var_3(*(type_2 **)(var_12 + -0x38c),*(char **)(var_12 + -0x388));
LAB_0001ceb0:
  *(type_1 **)(var_12 + -0x38c) = pMVar29;
  *(type_18 *)(var_12 + -0x390) = 0x1cebb;
  var_63(*(type_1 **)(var_12 + -0x38c));
  pMVar29->urh->clean_ready = true;
  *(type_1 **)(var_12 + -0x38c) = pMVar29;
  *(type_18 *)(var_12 + -0x390) = 0x1cecd;
  var_64(*(type_1 **)(var_12 + -0x38c));
  goto LAB_0001cbd2;
}


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

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

int * MASKED(int param_1)

{
  uint uVar1;
  undefined4 uVar2;
  code *pcVar3;
  uint uVar4;
  uint uVar5;
  uint uVar6;
  byte bVar7;
  int *piVar8;
  int iVar9;
  pthread_t pVar10;
  int iVar11;
  int iVar12;
  ssize_t sVar13;
  int *piVar14;
  char *pcVar15;
  int iVar16;
  char cVar17;
  undefined1 *puVar18;
  ushort uVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  pthread_mutex_t *unaff_EBP;
  undefined2 uVar22;
  undefined4 *puVar23;
  undefined4 *puVar24;
  int in_GS_OFFSET;
  int aiStackY_3f8 [9];
  int aiStackY_3d4 [2];
  byte abStackY_3cc [4];
  uint auStackY_3c8 [15];
  undefined4 uStackY_38c;
  undefined4 uStackY_108;
  int aiStackY_104 [2];
  ushort auStackY_fc [58];
  int aiStackY_88 [16];
  undefined1 auStack_38 [8];
  undefined4 uStack_30;
  undefined **ppuStack_2c;
  
  if ((*(byte *)(*(int *)(param_1 + 0x18) + 0xf9) & 0x20) != 0) {
    if (*(int *)(param_1 + 0xdc) == 0) {
      piVar8 = (int *)FUN_0001c3e0();
      return piVar8;
    }
    piVar8 = (int *)FUN_000215b0();
    return piVar8;
  }
  (*DAT_0003506c)();
  uVar2 = s_Close_socket_failed__0002b058._4_4_;
  uStack_30 = 0x1c719;
  ppuStack_2c = &__DT_PLTGOT;
  if ((*(byte *)(s_Close_socket_failed__0002b058._4_4_ + 0xf9) & 0x20) == 0) {
    puVar20 = &stack0xffffffb8;
    (*DAT_0003506c)();
LAB_0001c7df:
    *(char **)(puVar20 + -4) = "Failed to unlock mutex.\n";
    *(undefined4 *)(puVar20 + -8) = 0xb06;
    *(char **)(puVar20 + -0xc) = "daemon.c";
    puVar21 = puVar20 + -0x10;
    *(undefined4 *)(puVar20 + -0x10) = DAT_00035068;
    *(undefined4 *)(puVar20 + -0x14) = 0x1c7fe;
    (*DAT_0003506c)();
  }
  else {
    unaff_EBP = (pthread_mutex_t *)(s_Close_socket_failed__0002b058._4_4_ + 0xac);
    iVar9 = pthread_mutex_lock(unaff_EBP);
    puVar21 = auStack_38;
    if (iVar9 == 0) {
      s_select_failed___s_0002b135[7] = '\x01';
      *(undefined1 *)(uVar2 + 0xe3) = 1;
      iVar9 = pthread_mutex_unlock(unaff_EBP);
      puVar20 = auStack_38;
      if (iVar9 == 0) {
        piVar8 = *(int **)(uVar2 + 0xdc);
        if ((piVar8 != (int *)0xffffffff) &&
           (piVar8 = (int *)write((int)piVar8,&DAT_0002c7f0,8), (int)piVar8 < 1)) {
          piVar8 = __errno_location();
          if (*piVar8 != 0xb) {
            piVar8 = (int *)FUN_000215b0();
          }
        }
        return piVar8;
      }
      goto LAB_0001c7df;
    }
  }
  *(char **)(puVar21 + -4) = "Failed to lock mutex.\n";
  *(undefined4 *)(puVar21 + -8) = 0xb01;
  *(char **)(puVar21 + -0xc) = "daemon.c";
  *(undefined4 *)(puVar21 + -0x10) = DAT_00035068;
  *(undefined4 *)(puVar21 + -0x14) = 0x1c81d;
  (*DAT_0003506c)();
  *(pthread_mutex_t **)(puVar21 + -0x14) = unaff_EBP;
  *(undefined4 *)(puVar21 + -0x18) = 0x1c826;
  FUN_000215a2();
  *(char **)(puVar21 + -0x18) = "daemon.c";
  *(undefined4 *)(puVar21 + -0x1c) = uVar2;
  *(undefined ***)(puVar21 + -0x20) = &__DT_PLTGOT;
  *(undefined4 *)(puVar21 + -0x30) = *(undefined4 *)(in_GS_OFFSET + 0x14);
  iVar9 = *(int *)(puVar21 + -0xc);
  iVar12 = *(int *)(iVar9 + 0x18);
  *(int *)(puVar21 + -0x37c) = iVar12;
  uVar1 = *(uint *)(iVar12 + 0xf8);
  *(uint *)(puVar21 + -0x378) = uVar1;
  *(uint *)(puVar21 + -0x370) = uVar1 & 0x40;
  *(undefined4 *)(puVar21 + -0x380) = 0x1c869;
  pVar10 = pthread_self();
  cVar17 = '\0';
  *(undefined1 **)(puVar21 + -0x364) = puVar21 + -0x338;
  *(pthread_t *)(iVar9 + 0x5c) = pVar10;
  iVar12 = *(int *)(iVar9 + 0xb4);
  while (*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') {
    if (iVar12 == 0x13) goto LAB_0001cb7f;
    iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xf0);
    bVar7 = *(int *)(iVar9 + 0xdc) == 0 & *(byte *)(iVar9 + 0xf1);
    puVar21[-0x374] = bVar7;
    if (bVar7 == 0) {
      if (cVar17 != '\0') {
        *(int *)(puVar21 + -0x38c) = iVar9;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc03;
        FUN_000156d0();
        *(int *)(puVar21 + -0x38c) = iVar9;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc0b;
        FUN_00016b30();
      }
      if ((*(int *)(iVar9 + 0xb8) == 2) ||
         ((*(char *)(iVar9 + 0xf0) != '\0' && (*(int *)(iVar9 + 0xb8) == 0)))) {
        *(undefined4 *)(puVar21 + -0x34c) = 0;
        *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;
        iVar12 = *(int *)(puVar21 + -0x370);
        *(undefined4 *)(puVar21 + -0x348) = 0;
        if (iVar12 == 0) goto LAB_0001c927;
LAB_0001cab4:
        uVar2 = *(undefined4 *)(iVar9 + 0xa4);
        *(undefined4 *)(puVar21 + -0x334) = 0;
        *(undefined4 *)(puVar21 + -0x338) = uVar2;
        iVar12 = *(int *)(iVar9 + 0xb8);
        if (iVar12 == 1) {
          *(undefined2 *)(puVar21 + -0x334) = 6;
        }
        else if (iVar12 == 0) {
          *(undefined2 *)(puVar21 + -0x334) = 3;
        }
        else if (iVar12 == 2) {
          *(undefined2 *)(puVar21 + -0x334) = 2;
        }
        else if (iVar12 == 3) goto LAB_0001cb8d;
        iVar12 = -1;
        if (*(int *)(puVar21 + -0x378) != 0) {
          iVar12 = *(int *)(puVar21 + -0x34c) * 1000;
        }
        *(int *)(puVar21 + -900) = iVar12;
        *(undefined4 *)(puVar21 + -0x388) = 1;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);
        *(undefined4 *)(puVar21 + -0x390) = 0x1cb15;
        iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),
                      *(int *)(puVar21 + -900));
        if (iVar12 < 0) goto LAB_0001cb20;
        *(uint *)(puVar21 + -0x38c) = (uint)((*(ushort *)(puVar21 + -0x332) & 0xba) != 0);
      }
      else {
        *(undefined4 *)(puVar21 + -0x378) = 0;
        if (0 < iVar12) {
          *(undefined4 *)(puVar21 + -0x380) = 0x1c8f3;
          iVar11 = FUN_00021e50();
          iVar11 = iVar11 - *(int *)(iVar9 + 0x94);
          *(undefined4 *)(puVar21 + -0x348) = 0;
          iVar16 = 0;
          if (iVar11 <= iVar12) {
            iVar16 = iVar12 - iVar11;
          }
          *(int *)(puVar21 + -0x34c) = iVar16;
          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x34c;
        }
        iVar12 = *(int *)(puVar21 + -0x370);
        if (iVar12 != 0) goto LAB_0001cab4;
LAB_0001c927:
        *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x330;
        piVar8 = (int *)(puVar21 + -0x330);
        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {
          *piVar8 = iVar12;
          piVar8 = piVar8 + 1;
        }
        *(undefined1 **)(puVar21 + -0x36c) = puVar21 + -0x2b0;
        piVar8 = (int *)(puVar21 + -0x2b0);
        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {
          *piVar8 = iVar12;
          piVar8 = piVar8 + 1;
        }
        piVar8 = (int *)(puVar21 + -0x230);
        piVar14 = piVar8;
        for (iVar16 = 0x20; iVar16 != 0; iVar16 = iVar16 + -1) {
          *piVar14 = iVar12;
          piVar14 = piVar14 + 1;
        }
        iVar12 = *(int *)(iVar9 + 0xb8);
        *(undefined4 *)(puVar21 + -0x354) = 0xffffffff;
        if (iVar12 == 1) {
          *(int **)(puVar21 + -0x360) = piVar8;
          *(undefined4 *)(puVar21 + -0x380) = 0x400;
          *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;
          *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x36c);
LAB_0001cd52:
          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);
          *(undefined4 *)(puVar21 + -0x390) = 0x1cd5f;
          iVar12 = FUN_000225e0();
          if (iVar12 == 0) {
            *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;
            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
            *(undefined4 *)(puVar21 + -0x390) = 0x1cee7;
            FUN_000215b0();
            goto LAB_0001cb8d;
          }
          piVar8 = *(int **)(puVar21 + -0x360);
          iVar12 = *(int *)(puVar21 + -0x354) + 1;
        }
        else {
          if (iVar12 == 0) {
            *(int **)(puVar21 + -0x360) = piVar8;
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;
            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x368);
            goto LAB_0001cd52;
          }
          if (iVar12 == 2) {
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x354;
            *(int **)(puVar21 + -0x388) = piVar8;
            *(int **)(puVar21 + -0x360) = piVar8;
            goto LAB_0001cd52;
          }
          if (iVar12 == 3) goto LAB_0001cb8d;
          iVar12 = 0;
        }
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);
        *(int **)(puVar21 + -0x390) = piVar8;
        *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x36c);
        *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x368);
        *(int *)(puVar21 + -0x39c) = iVar12;
        *(undefined4 *)(puVar21 + -0x3a0) = 0x1c9a4;
        iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),
                        *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),
                        *(timeval **)(puVar21 + -0x38c));
        if (iVar12 < 0) {
          *(undefined4 *)(puVar21 + -0x380) = 0x1cc5d;
          piVar8 = __errno_location();
          iVar12 = *piVar8;
          if (iVar12 != 4) {
            *(int *)(puVar21 + -0x38c) = iVar12;
            goto LAB_0001cc6c;
          }
          goto LAB_0001cd30;
        }
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0xa4);
        *(undefined4 *)(puVar21 + -0x390) = 0x1c9c2;
        iVar12 = __fdelt_chk();
        uVar2 = *(undefined4 *)(iVar9 + 0xa4);
        bVar7 = (byte)((int)uVar2 >> 0x1f);
        *(uint *)(puVar21 + -0x378) =
             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x230) &
                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);
        *(undefined4 *)(puVar21 + -0x38c) = uVar2;
        *(undefined4 *)(puVar21 + -0x390) = 0x1c9fb;
        iVar12 = __fdelt_chk();
        uVar2 = *(undefined4 *)(iVar9 + 0xa4);
        bVar7 = (byte)((int)uVar2 >> 0x1f);
        *(uint *)(puVar21 + -0x36c) =
             (uint)((*(uint *)(puVar21 + iVar12 * 4 + -0x2b0) &
                    1 << (((char)uVar2 + (bVar7 >> 3) & 0x1f) - (bVar7 >> 3) & 0x1f)) != 0);
        *(undefined4 *)(puVar21 + -0x38c) = uVar2;
        *(undefined4 *)(puVar21 + -0x390) = 0x1ca35;
        __fdelt_chk();
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x378);
      }
      *(undefined4 *)(puVar21 + -0x390) = 0x1ca66;
      iVar12 = FUN_00019590();
      if (iVar12 == 0) goto LAB_0001cb8d;
      iVar12 = *(int *)(iVar9 + 0xb4);
      if (iVar12 != 0x14) goto LAB_0001ca80;
      pcVar3 = *(code **)(*(int *)(puVar21 + -0x37c) + 0x48);
      if ((pcVar3 != (code *)0x0) && (*(char *)(iVar9 + 0xa0) != '\0')) {
        *(undefined4 *)(puVar21 + -0x380) = 0;
        *(int *)(puVar21 + -900) = iVar9 + 0x2c;
        *(int *)(puVar21 + -0x388) = iVar9;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0x4c);
        *(undefined4 *)(puVar21 + -0x390) = 0x1ce83;
        (*pcVar3)();
      }
      piVar8 = *(int **)(iVar9 + 0xdc);
      *(undefined1 *)(iVar9 + 0xa0) = 0;
      uVar1 = *(uint *)(*(int *)(iVar9 + 0x18) + 0xf8);
      if ((uVar1 & 0x42) == 2) {
        *(int *)(puVar21 + -0x36c) = iVar9;
LAB_0001cef5:
        if (piVar8[8] != 0) goto LAB_0001cf15;
LAB_0001cefc:
        if (((piVar8[9] != 0) || (piVar8[10] != 0)) || (piVar8[0xb] != 0)) {
LAB_0001cf15:
          *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0x1b0;
          puVar24 = (undefined4 *)(puVar21 + -0x1b0);
          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar24 = 0;
            puVar24 = puVar24 + 1;
          }
          *(undefined1 **)(puVar21 + -0x378) = puVar21 + -0x130;
          puVar24 = (undefined4 *)(puVar21 + -0x130);
          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar24 = 0;
            puVar24 = puVar24 + 1;
          }
          *(undefined1 **)(puVar21 + -0x374) = puVar21 + -0xb0;
          puVar24 = (undefined4 *)(puVar21 + -0xb0);
          for (iVar9 = 0x20; iVar9 != 0; iVar9 = iVar9 + -1) {
            *puVar24 = 0;
            puVar24 = puVar24 + 1;
          }
          *(undefined4 *)(puVar21 + -0x350) = 0xffffffff;
          iVar9 = *piVar8;
          iVar12 = piVar8[0x10];
          puVar21[-0x370] = 1;
          iVar9 = *(int *)(iVar9 + 0xa4);
          if (iVar9 == -1) {
            if (iVar12 != -1) {
LAB_0001d0b7:
              if ((uint)piVar8[0xb] < (uint)piVar8[9]) {
                *(undefined4 *)(puVar21 + -0x380) = 0x400;
                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
                *(undefined1 **)(puVar21 + -0x368) = puVar21 + -0x350;
                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);
                *(int *)(puVar21 + -0x38c) = iVar12;
                *(undefined4 *)(puVar21 + -0x390) = 0x1d0dd;
                iVar9 = FUN_000225e0();
                if (iVar9 != 0) goto LAB_0001cfbd;
                puVar18 = *(undefined1 **)(puVar21 + -0x368);
                if (piVar8[10] != 0) {
                  puVar21[-0x370] = 0;
                  goto LAB_0001d14c;
                }
LAB_0001d0f3:
                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d3f9;
                puVar21[-0x370] = 0;
              }
              else {
LAB_0001cfbd:
                puVar18 = puVar21 + -0x350;
                if (piVar8[10] != 0) {
LAB_0001d14c:
                  *(undefined4 *)(puVar21 + -0x380) = 0x400;
                  *(undefined1 **)(puVar21 + -900) = puVar18;
                  *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);
                  *(int *)(puVar21 + -0x38c) = iVar12;
                  *(undefined4 *)(puVar21 + -0x390) = 0x1d15e;
                  iVar9 = FUN_000225e0();
                  if (iVar9 == 0) goto LAB_0001d0f3;
                }
                if ((*(byte *)(piVar8 + 0x11) & 0x80) != 0) goto LAB_0001d000;
              }
              if (((piVar8[9] != 0) || (piVar8[8] != 0)) || (piVar8[10] != 0)) {
                *(undefined4 *)(puVar21 + -0x380) = 0x400;
                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);
                *(int *)(puVar21 + -0x38c) = iVar12;
                *(undefined4 *)(puVar21 + -0x390) = 0x1cffd;
                FUN_000225e0();
              }
              goto LAB_0001d000;
            }
LAB_0001d065:
            *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x374);
            *(undefined4 *)(puVar21 + -0x390) = 0x1d07b;
            FUN_00019470();
            *(undefined4 *)(puVar21 + -0x390) = 0x1d082;
            FUN_00019710();
            if (piVar8[8] == 0) goto LAB_0001cefc;
            goto LAB_0001cf15;
          }
          if ((uint)piVar8[10] < (uint)piVar8[8]) {
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x37c);
            *(int *)(puVar21 + -0x38c) = iVar9;
            *(int *)(puVar21 + -0x368) = iVar9;
            *(undefined4 *)(puVar21 + -0x390) = 0x1d185;
            iVar16 = FUN_000225e0();
            iVar9 = *(int *)(puVar21 + -0x368);
            puVar21[-0x370] = iVar16 != 0;
          }
          if (piVar8[0xb] == 0) {
LAB_0001cf8d:
            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {
LAB_0001cf97:
              if (((piVar8[8] != 0) || (piVar8[9] != 0)) || (piVar8[0xb] != 0)) {
                *(undefined4 *)(puVar21 + -0x380) = 0x400;
                *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
                *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x374);
                *(int *)(puVar21 + -0x38c) = iVar9;
                *(undefined4 *)(puVar21 + -0x390) = 0x1d0ab;
                FUN_000225e0();
                goto LAB_0001d0ae;
              }
              if (iVar12 != -1) goto LAB_0001cfbd;
            }
            else {
LAB_0001d0ae:
              if (iVar12 != -1) goto LAB_0001d0b7;
            }
LAB_0001d000:
            if (puVar21[-0x370] != '\0') {
              if (*(int *)(puVar21 + -0x350) == -1) goto LAB_0001d065;
              puVar18 = (undefined1 *)0x0;
              if ((*(char *)(*(int *)(puVar21 + -0x36c) + 0xf0) != '\0') &&
                 ((uint)piVar8[10] < (uint)piVar8[8])) {
                *(undefined4 *)(puVar21 + -0x344) = 0;
                puVar18 = puVar21 + -0x344;
                *(undefined4 *)(puVar21 + -0x340) = 0;
              }
              *(undefined1 **)(puVar21 + -0x38c) = puVar18;
              *(undefined4 *)(puVar21 + -0x390) = *(undefined4 *)(puVar21 + -0x374);
              *(undefined4 *)(puVar21 + -0x394) = *(undefined4 *)(puVar21 + -0x378);
              *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x37c);
              *(int *)(puVar21 + -0x39c) = *(int *)(puVar21 + -0x350) + 1;
              *(undefined4 *)(puVar21 + -0x3a0) = 0x1d05a;
              iVar9 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),
                             *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),
                             *(timeval **)(puVar21 + -0x38c));
              if (iVar9 < 0) {
                *(undefined4 *)(puVar21 + -0x380) = 0x1d116;
                piVar14 = __errno_location();
                iVar12 = *piVar14;
                if (iVar12 == 4) goto LAB_0001cef5;
                iVar9 = *(int *)(puVar21 + -0x36c);
                *(int *)(puVar21 + -0x38c) = iVar12;
                *(undefined4 *)(puVar21 + -0x390) = 0x1d12e;
                pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
                *(char **)(puVar21 + -0x390) = pcVar15;
                *(int *)(puVar21 + -0x394) = iVar12;
                *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;
                *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);
                *(undefined4 *)(puVar21 + -0x3a0) = 0x1d13f;
                FUN_000215b0();
                goto LAB_0001ceb0;
              }
              goto LAB_0001d065;
            }
          }
          else {
            *(undefined4 *)(puVar21 + -0x380) = 0x400;
            *(undefined1 **)(puVar21 + -900) = puVar21 + -0x350;
            *(undefined4 *)(puVar21 + -0x388) = *(undefined4 *)(puVar21 + -0x378);
            *(int *)(puVar21 + -0x38c) = iVar9;
            *(int *)(puVar21 + -0x368) = iVar9;
            *(undefined4 *)(puVar21 + -0x390) = 0x1d1b2;
            iVar16 = FUN_000225e0();
            iVar9 = *(int *)(puVar21 + -0x368);
            if (iVar16 != 0) goto LAB_0001cf8d;
            if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {
              puVar21[-0x370] = 0;
              goto LAB_0001cf97;
            }
            if (iVar12 != -1) {
              puVar21[-0x370] = 0;
              goto LAB_0001d0b7;
            }
          }
LAB_0001d3f9:
          iVar9 = *(int *)(puVar21 + -0x36c);
          *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8eb;
          *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
          *(undefined4 *)(puVar21 + -0x390) = 0x1d411;
          FUN_000215b0();
          goto LAB_0001ceb0;
        }
        iVar9 = *(int *)(puVar21 + -0x36c);
        goto LAB_0001ceb0;
      }
      if ((uVar1 & 2) == 0) goto LAB_0001ceb0;
      *(undefined4 *)(puVar21 + -0xb0) = 0;
      *(undefined4 *)(puVar21 + -0xa8) = 0;
      *(undefined4 *)(puVar21 + -0xac) = 0;
      *(undefined4 *)(puVar21 + -0xa4) = 0;
      iVar12 = *piVar8;
      *(int *)(puVar21 + -0x378) = iVar9;
      *(undefined4 *)(puVar21 + -0xb0) = *(undefined4 *)(iVar12 + 0xa4);
      *(int *)(puVar21 + -0xa8) = piVar8[0x10];
      goto LAB_0001d229;
    }
    if (*(int *)(puVar21 + -0x370) == 0) {
      puVar24 = (undefined4 *)(puVar21 + -0x330);
      puVar23 = puVar24;
      for (iVar12 = 0x20; iVar12 != 0; iVar12 = iVar12 + -1) {
        *puVar23 = 0;
        puVar23 = puVar23 + 1;
      }
      *(undefined4 *)(puVar21 + -0x380) = 0x400;
      *(undefined4 *)(puVar21 + -900) = 0;
      *(undefined4 **)(puVar21 + -0x388) = puVar24;
      *(undefined4 **)(puVar21 + -0x378) = puVar24;
      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);
      *(undefined4 *)(puVar21 + -0x390) = 0x1ccd7;
      iVar12 = FUN_000225e0();
      if (iVar12 == 0) {
        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8b6;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
        *(undefined4 *)(puVar21 + -0x390) = 0x1d3f1;
        FUN_000215b0();
        goto LAB_0001cb8d;
      }
      *(undefined4 *)(puVar21 + -0x38c) = 0;
      *(undefined4 *)(puVar21 + -0x390) = 0;
      *(undefined4 *)(puVar21 + -0x394) = 0;
      *(undefined4 *)(puVar21 + -0x398) = *(undefined4 *)(puVar21 + -0x378);
      iVar12 = *(int *)(*(int *)(puVar21 + -0x37c) + 0xdc);
      *(int *)(puVar21 + -0x378) = iVar12;
      *(int *)(puVar21 + -0x39c) = iVar12 + 1;
      *(undefined4 *)(puVar21 + -0x3a0) = 0x1cd07;
      iVar12 = select(*(int *)(puVar21 + -0x39c),*(fd_set **)(puVar21 + -0x398),
                      *(fd_set **)(puVar21 + -0x394),*(fd_set **)(puVar21 + -0x390),
                      *(timeval **)(puVar21 + -0x38c));
      if (-1 < iVar12) goto LAB_0001cdf2;
      *(undefined4 *)(puVar21 + -0x380) = 0x1cd17;
      piVar8 = __errno_location();
      iVar12 = *piVar8;
      if (iVar12 != 4) {
        *(int *)(puVar21 + -0x38c) = iVar12;
LAB_0001cc6c:
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc71;
        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
        *(char **)(puVar21 + -0x390) = pcVar15;
        *(int *)(puVar21 + -0x394) = iVar12;
        *(int *)(puVar21 + -0x398) = (int)unaff_EBP + 0xf552;
        *(undefined4 *)(puVar21 + -0x39c) = *(undefined4 *)(iVar9 + 0x18);
        *(undefined4 *)(puVar21 + -0x3a0) = 0x1cc82;
        FUN_000215b0();
        if (*(int *)(iVar9 + 0xb4) == 0x13) goto LAB_0001cb7f;
        goto LAB_0001cb5c;
      }
    }
    else {
      *(undefined4 *)(puVar21 + -0x334) = 1;
      *(undefined4 *)(puVar21 + -0x338) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);
      *(undefined4 *)(puVar21 + -900) = 0xffffffff;
      *(undefined4 *)(puVar21 + -0x388) = 1;
      *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(puVar21 + -0x364);
      *(undefined4 *)(puVar21 + -0x390) = 0x1cde7;
      iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),
                    *(int *)(puVar21 + -900));
      if (-1 < iVar12) {
LAB_0001cdf2:
        *(undefined4 *)(puVar21 + -900) = 8;
        *(undefined1 **)(puVar21 + -0x388) = puVar21 + -0x344;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(*(int *)(puVar21 + -0x37c) + 0xdc);
        *(undefined4 *)(puVar21 + -0x390) = 0x1ce0d;
        read(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),*(size_t *)(puVar21 + -900));
        iVar12 = *(int *)(iVar9 + 0xb4);
        goto LAB_0001ca80;
      }
LAB_0001cb20:
      *(undefined4 *)(puVar21 + -0x380) = 0x1cb25;
      piVar8 = __errno_location();
      if (*piVar8 != 4) {
        *(int *)(puVar21 + -0x38c) = *piVar8;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cb3b;
        pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
        *(char **)(puVar21 + -900) = pcVar15;
        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;
        *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
        *(undefined4 *)(puVar21 + -0x390) = 0x1cb4e;
        FUN_000215b0();
        iVar12 = *(int *)(iVar9 + 0xb4);
        break;
      }
    }
LAB_0001cd30:
    iVar12 = *(int *)(iVar9 + 0xb4);
LAB_0001ca80:
    cVar17 = puVar21[-0x374];
  }
  if (iVar12 != 0x13) {
LAB_0001cb5c:
    *(uint *)(puVar21 + -0x388) =
         (-(uint)(*(char *)(*(int *)(puVar21 + -0x37c) + 0xe0) == '\0') & 0xfffffffe) + 3;
    *(int *)(puVar21 + -0x38c) = iVar9;
    *(undefined4 *)(puVar21 + -0x390) = 0x1cb7c;
    FUN_000151b0();
  }
LAB_0001cb7f:
  *(int *)(puVar21 + -0x38c) = iVar9;
  *(undefined4 *)(puVar21 + -0x390) = 0x1cb8a;
  FUN_00016b30();
LAB_0001cb8d:
  if (*(int *)(iVar9 + 0x24) != 0) {
    *(int *)(puVar21 + -0x38c) = *(int *)(iVar9 + 0x24);
    *(undefined4 *)(puVar21 + -0x390) = 0x1cb9f;
    MHD_destroy_response();
    *(undefined4 *)(iVar9 + 0x24) = 0;
  }
  iVar9 = *(int *)(iVar9 + 0xa4);
  if (iVar9 != -1) {
    *(undefined4 *)(puVar21 + -0x388) = 1;
    *(int *)(puVar21 + -0x38c) = iVar9;
    *(undefined4 *)(puVar21 + -0x390) = 0x1cbc1;
    shutdown(*(int *)(puVar21 + -0x38c),*(int *)(puVar21 + -0x388));
  }
  iVar9 = *(int *)(puVar21 + -0x37c);
  iVar12 = *(int *)(iVar9 + 0xdc);
  if (iVar12 != -1) {
    *(undefined4 *)(puVar21 + -900) = 8;
    *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xffca;
    *(int *)(puVar21 + -0x38c) = iVar12;
    *(undefined4 *)(puVar21 + -0x390) = 0x1cc2c;
    sVar13 = write(*(int *)(puVar21 + -0x38c),*(void **)(puVar21 + -0x388),
                   *(size_t *)(puVar21 + -900));
    if (sVar13 < 1) {
      *(undefined4 *)(puVar21 + -0x380) = 0x1cc38;
      piVar8 = __errno_location();
      if (*piVar8 != 0xb) {
        *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xf572;
        *(int *)(puVar21 + -0x38c) = iVar9;
        *(undefined4 *)(puVar21 + -0x390) = 0x1cc4d;
        FUN_000215b0();
      }
    }
  }
LAB_0001cbd2:
  if (*(int *)(puVar21 + -0x30) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    *(undefined4 *)(puVar21 + -0x380) = 0x1d428;
    FUN_000299b0();
  }
  return (int *)0x0;
  while( true ) {
    *(undefined4 *)(puVar21 + -0x380) = 0x1d316;
    piVar14 = __errno_location();
    if (*piVar14 != 4) break;
LAB_0001d229:
    uVar1 = piVar8[8];
    uVar4 = piVar8[9];
    uVar5 = piVar8[10];
    uVar6 = piVar8[0xb];
    if (uVar1 == 0) {
      if ((uVar5 == 0 && uVar4 == 0) && uVar6 == 0) {
        iVar9 = *(int *)(puVar21 + -0x378);
        goto LAB_0001ceb0;
      }
      *(undefined2 *)(puVar21 + -0xac) = 0;
      *(undefined2 *)(puVar21 + -0xa4) = 0;
      *(undefined2 *)(puVar21 + -0x374) = 2;
      *(undefined2 *)(puVar21 + -0x37c) = 6;
      uVar22 = 4;
    }
    else {
      *(undefined2 *)(puVar21 + -0xac) = 0;
      *(undefined2 *)(puVar21 + -0xa4) = 0;
      if (uVar5 < uVar1) {
        *(undefined2 *)(puVar21 + -0xac) = 1;
        *(undefined2 *)(puVar21 + -0x374) = 3;
        *(undefined2 *)(puVar21 + -0x37c) = 7;
        uVar22 = 5;
      }
      else {
        *(undefined2 *)(puVar21 + -0x374) = 2;
        uVar22 = 4;
        *(undefined2 *)(puVar21 + -0x37c) = 6;
      }
    }
    if (uVar6 == 0) {
      if ((*(byte *)(piVar8 + 0xe) & 0x80) != 0) goto LAB_0001d28f;
      if (uVar1 != 0 || uVar4 != 0) {
        *(undefined2 *)(puVar21 + -0x37c) = *(undefined2 *)(puVar21 + -0x374);
        goto LAB_0001d377;
      }
    }
    else {
      *(undefined2 *)(puVar21 + -0xac) = uVar22;
      if ((*(byte *)(piVar8 + 0xe) & 0x80) == 0) {
LAB_0001d377:
        *(undefined2 *)(puVar21 + -0xac) = *(undefined2 *)(puVar21 + -0x37c);
      }
LAB_0001d28f:
      if (uVar6 < uVar4) {
        *(undefined2 *)(puVar21 + -0xa4) = 1;
      }
    }
    uVar6 = piVar8[0x11];
    if (uVar5 == 0) {
      if (((uVar6 & 0x80) == 0) && (uVar4 != 0 || uVar1 != 0)) {
        uVar19 = *(ushort *)(puVar21 + -0xa4);
        goto LAB_0001d2c8;
      }
    }
    else {
      uVar19 = *(ushort *)(puVar21 + -0xa4) | 4;
      *(ushort *)(puVar21 + -0xa4) = uVar19;
      if ((uVar6 & 0x80) == 0) {
LAB_0001d2c8:
        *(ushort *)(puVar21 + -0xa4) = uVar19 | 2;
      }
    }
    iVar9 = *(int *)(puVar21 + -0x378);
    *(uint *)(puVar21 + -900) = -(uint)(byte)(uVar5 < uVar1 & *(byte *)(iVar9 + 0xf0) ^ 1);
    *(undefined4 *)(puVar21 + -0x388) = 2;
    *(undefined1 **)(puVar21 + -0x38c) = puVar21 + -0xb0;
    *(undefined1 **)(puVar21 + -0x37c) = puVar21 + -0xb0;
    *(undefined4 *)(puVar21 + -0x390) = 0x1d303;
    iVar12 = poll(*(pollfd **)(puVar21 + -0x38c),*(nfds_t *)(puVar21 + -0x388),
                  *(int *)(puVar21 + -900));
    if (-1 < iVar12) {
      *(undefined4 *)(puVar21 + -0x380) = 0x1d3d5;
      FUN_00018fb0();
      *(undefined4 *)(puVar21 + -0x380) = 0x1d3da;
      FUN_00019710();
      goto LAB_0001d229;
    }
  }
  *(int *)(puVar21 + -0x38c) = *piVar14;
  *(undefined4 *)(puVar21 + -0x390) = 0x1d32a;
  pcVar15 = strerror(*(int *)(puVar21 + -0x38c));
  *(char **)(puVar21 + -900) = pcVar15;
  *(int *)(puVar21 + -0x388) = (int)unaff_EBP + 0xe8d2;
  *(undefined4 *)(puVar21 + -0x38c) = *(undefined4 *)(iVar9 + 0x18);
  *(undefined4 *)(puVar21 + -0x390) = 0x1d33d;
  FUN_000215b0();
LAB_0001ceb0:
  *(int *)(puVar21 + -0x38c) = iVar9;
  *(undefined4 *)(puVar21 + -0x390) = 0x1cebb;
  FUN_00015540();
  *(undefined1 *)(*(int *)(iVar9 + 0xdc) + 0x51) = 1;
  *(int *)(puVar21 + -0x38c) = iVar9;
  *(undefined4 *)(puVar21 + -0x390) = 0x1cecd;
  MHD_resume_connection();
  goto LAB_0001cbd2;
}

