
/* 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 process_urh(MHD_UpgradeResponseHandle *urh)

{
  _Bool _Var1;
  size_t sVar2;
  MHD_EpollState MVar3;
  uint uVar4;
  int iVar5;
  uint *puVar6;
  undefined4 uVar7;
  MHD_Connection *pMVar8;
  MHD_Daemon *daemon;
  uint uVar9;
  
  pMVar8 = urh->connection;
  daemon = pMVar8->daemon;
  if (daemon->shutdown != false) {
    if (urh->was_closed == false) {
      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);
    }
    urh->was_closed = true;
  }
  _Var1 = urh->was_closed;
  if (_Var1 != false) {
    if (urh->in_buffer_used == 0) {
      sVar2 = urh->out_buffer_size;
    }
    else {
      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);
      sVar2 = urh->out_buffer_size;
    }
    if (sVar2 != 0) {
      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;
    }
    urh->in_buffer_used = 0;
    (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;
    urh->in_buffer_size = 0;
    (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;
    pMVar8->tls_read_ready = false;
  }
  MVar3 = (urh->app).celi;
  if ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {
    MVar3 = (urh->mhd).celi;
    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;
LAB_0001963c:
    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||
       (pMVar8->tls_read_ready != false)) goto LAB_00019558;
  }
  else {
    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;
    MVar3 = (urh->mhd).celi;
    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {
LAB_00019638:
      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;
      goto LAB_0001963c;
    }
LAB_00019558:
    uVar9 = urh->in_buffer_size - urh->in_buffer_used;
    if (urh->in_buffer_used < urh->in_buffer_size) {
      if ((int)uVar9 < 0) {
        uVar9 = 0x7fffffff;
      }
      pMVar8->tls_read_ready = false;
      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)
                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);
      if ((int)uVar4 < 1) {
        if ((uVar4 != 0xffffffcc) &&
           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {
          urh->in_buffer_size = 0;
        }
      }
      else {
        urh->in_buffer_used = urh->in_buffer_used + uVar4;
        if (uVar4 < uVar9) {
          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;
        }
        else {
          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);
          if (iVar5 != 0) {
            pMVar8->tls_read_ready = true;
          }
        }
      }
      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==
          MHD_EPOLL_STATE_ERROR) {
        urh->in_buffer_size = 0;
      }
    }
  }
  if (((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) {
    uVar9 = urh->out_buffer_used;
    uVar4 = urh->out_buffer_size - uVar9;
    if (uVar9 < urh->out_buffer_size) {
      if ((int)uVar4 < 0) {
        uVar4 = 0x7fffffff;
      }
      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);
      if ((int)uVar9 < 1) {
        if (uVar9 == 0) {
          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;
        }
        else {
          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();
          uVar9 = *puVar6;
          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))
          goto LAB_000197c0;
          MVar3 = (urh->mhd).celi;
          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;
          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&
             (uVar9 == 0xb)) {
            MVar3 = (urh->mhd).celi;
            goto LAB_000196dc;
          }
        }
        urh->out_buffer_size = 0;
LAB_000196d4:
        MVar3 = (urh->mhd).celi;
      }
      else {
        urh->out_buffer_used = urh->out_buffer_used + uVar9;
        if (uVar9 < uVar4) {
          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;
          goto LAB_000196d4;
        }
LAB_000197c0:
        MVar3 = (urh->mhd).celi;
        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;
      }
LAB_000196dc:
      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {
        urh->out_buffer_size = 0;
      }
    }
  }
LAB_000197d0:
  if ((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&
     (uVar9 = urh->out_buffer_used, uVar9 != 0)) {
    if ((int)uVar9 < 0) {
      uVar9 = 0x7fffffff;
    }
    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);
    if ((int)uVar4 < 1) {
      if (uVar4 == 0xffffffcc) goto LAB_0001982c;
      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;
      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);
      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7
              );
      urh->out_buffer_used = 0;
      urh->out_buffer_size = 0;
      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;
    }
    else {
      sVar2 = urh->out_buffer_used - uVar4;
      if ((sVar2 != 0) &&
         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),
         uVar4 < uVar9)) {
        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;
        FUN_00019828();
        return;
      }
      urh->out_buffer_used = sVar2;
LAB_0001982c:
      if (urh->out_buffer_used != 0) goto LAB_00019838;
    }
    MVar3 = (urh->app).celi;
    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {
      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;
      urh->out_buffer_size = 0;
      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;
    }
  }
LAB_00019838:
  if ((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||
     (uVar9 = urh->in_buffer_used, uVar9 == 0)) {
LAB_00019ac0:
    if ((pMVar8->tls_read_ready != false) &&
       ((urh->in_buffer_used < urh->in_buffer_size &&
        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {
      daemon->data_already_pending = true;
    }
  }
  else {
    if ((int)uVar9 < 0) {
      uVar9 = 0x7fffffff;
    }
    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);
    if ((int)uVar4 < 1) {
      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();
      uVar9 = *puVar6;
      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||
         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))
      goto LAB_00019898;
      sVar2 = urh->in_buffer_used;
      uVar7 = (*(code *)PTR_strerror_00041258)();
      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);
      urh->in_buffer_used = 0;
      urh->in_buffer_size = 0;
      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;
      pMVar8->tls_read_ready = false;
      if ((urh->in_buffer_used == 0) &&
         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))
      goto LAB_000198b8;
    }
    else {
      sVar2 = urh->in_buffer_used - uVar4;
      if ((sVar2 != 0) &&
         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),
         uVar4 < uVar9)) {
        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;
      }
      urh->in_buffer_used = sVar2;
LAB_00019898:
      if ((urh->in_buffer_used != 0) ||
         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))
      goto LAB_00019ac0;
LAB_000198b8:
      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;
      urh->in_buffer_size = 0;
      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;
      pMVar8->tls_read_ready = false;
    }
  }
  if (daemon->shutdown == false) {
    return;
  }
  if (urh->out_buffer_size == 0) {
    if (urh->out_buffer_used == 0) {
      return;
    }
  }
  else if (urh->out_buffer_used == 0) {
    urh->out_buffer_used = 0;
    goto LAB_00019b54;
  }
  MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);
  urh->out_buffer_used = 0;
LAB_00019b54:
  (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;
  urh->out_buffer_size = 0;
  (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;
  return;
}



void FUN_00019470(int *param_1)

{
  char cVar1;
  int iVar2;
  uint uVar3;
  uint uVar4;
  uint *puVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  
  iVar7 = *param_1;
  iVar8 = *(int *)(iVar7 + 0x18);
  if (*(char *)(iVar8 + 0xe0) != '\0') {
    if (*(char *)(param_1 + 0x14) == '\0') {
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);
    }
    *(undefined1 *)(param_1 + 0x14) = 1;
  }
  cVar1 = *(char *)(param_1 + 0x14);
  if (cVar1 != '\0') {
    if (param_1[10] == 0) {
      iVar2 = param_1[9];
    }
    else {
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);
      iVar2 = param_1[9];
    }
    if (iVar2 != 0) {
      param_1[0x11] = param_1[0x11] | 1;
    }
    param_1[10] = 0;
    param_1[0x11] = param_1[0x11] & 0xfffffffd;
    param_1[8] = 0;
    param_1[0xe] = param_1[0xe] & 0xfffffffe;
    *(undefined1 *)(iVar7 + 0xf4) = 0;
  }
  if ((param_1[0xe] & 0x80U) == 0) {
    uVar3 = param_1[0x11];
    if ((uVar3 & 0x80) != 0) goto LAB_00019638;
LAB_0001963c:
    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;
  }
  else {
    param_1[0xe] = param_1[0xe] | 1;
    uVar3 = param_1[0x11];
    if ((uVar3 & 0x80) != 0) {
LAB_00019638:
      param_1[0x11] = uVar3 | 1;
      goto LAB_0001963c;
    }
LAB_00019558:
    uVar3 = param_1[8] - param_1[10];
    if ((uint)param_1[10] < (uint)param_1[8]) {
      if ((int)uVar3 < 0) {
        uVar3 = 0x7fffffff;
      }
      *(undefined1 *)(iVar7 + 0xf4) = 0;
      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)
                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);
      if ((int)uVar4 < 1) {
        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)
           ) {
          param_1[8] = 0;
        }
      }
      else {
        param_1[10] = param_1[10] + uVar4;
        if (uVar4 < uVar3) {
          param_1[0xe] = param_1[0xe] & 0xfffffffe;
        }
        else {
          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))
          ;
          if (iVar2 != 0) {
            *(undefined1 *)(iVar7 + 0xf4) = 1;
          }
        }
      }
      if ((param_1[0xe] & 0x81U) == 0x80) {
        param_1[8] = 0;
      }
    }
  }
  if ((param_1[0x11] & 1U) != 0) {
    uVar3 = param_1[0xb];
    uVar4 = param_1[9] - uVar3;
    if (uVar3 < (uint)param_1[9]) {
      if ((int)uVar4 < 0) {
        uVar4 = 0x7fffffff;
      }
      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);
      if ((int)uVar3 < 1) {
        if (uVar3 == 0) {
          param_1[0x11] = param_1[0x11] & 0xfffffffe;
        }
        else {
          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();
          uVar3 = *puVar5;
          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))
          goto LAB_000197c0;
          uVar4 = param_1[0x11];
          param_1[0x11] = uVar4 & 0xfffffffe;
          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {
            uVar3 = param_1[0x11];
            goto LAB_000196dc;
          }
        }
        param_1[9] = 0;
LAB_000196d4:
        uVar3 = param_1[0x11];
      }
      else {
        param_1[0xb] = param_1[0xb] + uVar3;
        if (uVar3 < uVar4) {
          param_1[0x11] = param_1[0x11] & 0xfffffffe;
          goto LAB_000196d4;
        }
LAB_000197c0:
        uVar3 = param_1[0x11];
        if ((uVar3 & 1) != 0) goto LAB_000197d0;
      }
LAB_000196dc:
      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {
        param_1[9] = 0;
      }
    }
  }
LAB_000197d0:
  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {
    if ((int)uVar3 < 0) {
      uVar3 = 0x7fffffff;
    }
    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)
                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);
    if ((int)uVar4 < 1) {
      if (uVar4 == 0xffffffcc) goto LAB_0001982c;
      param_1[0xe] = param_1[0xe] & 0xfffffffd;
      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);
      param_1[0xb] = 0;
      param_1[9] = 0;
      param_1[0x11] = param_1[0x11] & 0xfffffffe;
    }
    else {
      iVar2 = param_1[0xb] - uVar4;
      if ((iVar2 != 0) &&
         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {
        param_1[0xe] = param_1[0xe] & 0xfffffffd;
      }
      param_1[0xb] = iVar2;
LAB_0001982c:
      if (param_1[0xb] != 0) goto LAB_00019838;
    }
    if ((param_1[0xe] & 0x80U) != 0) {
      param_1[0xe] = param_1[0xe] & 0xfffffffd;
      param_1[9] = 0;
      param_1[0x11] = param_1[0x11] & 0xfffffffe;
    }
  }
LAB_00019838:
  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {
LAB_00019ac0:
    if ((*(char *)(iVar7 + 0xf4) != '\0') &&
       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {
      *(undefined1 *)(iVar8 + 0xe4) = 1;
    }
  }
  else {
    if ((int)uVar3 < 0) {
      uVar3 = 0x7fffffff;
    }
    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);
    if ((int)uVar4 < 1) {
      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();
      uVar3 = *puVar5;
      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||
         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;
      iVar2 = param_1[10];
      uVar6 = (*(code *)PTR_strerror_00041258)();
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);
      param_1[10] = 0;
      param_1[8] = 0;
      param_1[0xe] = param_1[0xe] & 0xfffffffe;
      *(undefined1 *)(iVar7 + 0xf4) = 0;
      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;
    }
    else {
      iVar2 = param_1[10] - uVar4;
      if ((iVar2 != 0) &&
         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {
        param_1[0x11] = param_1[0x11] & 0xfffffffd;
      }
      param_1[10] = iVar2;
LAB_00019898:
      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;
LAB_000198b8:
      param_1[0x11] = uVar3 & 0xfffffffd;
      param_1[8] = 0;
      param_1[0xe] = param_1[0xe] & 0xfffffffe;
      *(undefined1 *)(iVar7 + 0xf4) = 0;
    }
  }
  if (*(char *)(iVar8 + 0xe0) == '\0') {
    return;
  }
  if (param_1[9] == 0) {
    if (param_1[0xb] == 0) {
      return;
    }
  }
  else if (param_1[0xb] == 0) {
    param_1[0xb] = 0;
    goto LAB_00019b54;
  }
  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);
  param_1[0xb] = 0;
LAB_00019b54:
  param_1[0xe] = param_1[0xe] & 0xfffffffd;
  param_1[9] = 0;
  param_1[0x11] = param_1[0x11] & 0xfffffffe;
  return;
}


lui gp,0x3
addiu gp,gp,-0x440
addu gp,gp,t9
addiu sp,sp,-0x40
sw ra,0x3c(sp)
sw s5,0x38(sp)
sw s4,0x34(sp)
sw s3,0x30(sp)
sw s2,0x2c(sp)
sw s1,0x28(sp)
sw s0,0x24(sp)
sw gp,0x18(sp)
or s0,a0,zero
lw s1,0x0(a0)
lw s3,0x18(s1)
lbu v0,0xe0(s3)
andi v0,v0,0xff
beq v0,zero,0x000194d4
_nop
lbu v0,0x50(a0)
andi v0,v0,0xff
beq v0,zero,0x000195e4
_lw a1,-0x7fd4(gp)
li v0,0x1
sb v0,0x50(s0)
lbu s2,0x50(s0)
andi s2,s2,0xff
beq s2,zero,0x00019534
_nop
lw a3,0x28(s0)
bne a3,zero,0x00019604
_or a2,zero,zero
lw v0,0x24(s0)
beq v0,zero,0x00019508
_nop
lw v0,0x44(s0)
ori v0,v0,0x1
sw v0,0x44(s0)
sw zero,0x28(s0)
lw v0,0x44(s0)
li v1,-0x3
and v0,v0,v1
sw v0,0x44(s0)
sw zero,0x20(s0)
lw v0,0x38(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x38(s0)
sb zero,0xf4(s1)
lw v0,0x38(s0)
andi v1,v0,0x80
beq v1,zero,0x00019628
_ori v0,v0,0x1
sw v0,0x38(s0)
lw v0,0x44(s0)
andi v1,v0,0x80
bne v1,zero,0x00019638
_ori v0,v0,0x1
lw v0,0x28(s0)
lw a2,0x20(s0)
sltu v1,v0,a2
beq v1,zero,0x00019658
_subu s4,a2,v0
bltz s4,0x000196f4
_lui v0,0x7fff
sb zero,0xf4(s1)
lw a1,0x18(s0)
lw v0,0x28(s0)
or a2,s4,zero
addu a1,a1,v0
lw a0,0xe4(s1)
lw t9,-0x7d60(gp)
jalr t9
_nop
lw gp,0x18(sp)
blez v0,0x000196fc
_li v1,-0x34
lw v1,0x28(s0)
addu v1,v1,v0
sltu v0,v0,s4
beq v0,zero,0x00019724
_sw v1,0x28(s0)
lw v0,0x38(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x38(s0)
lw v0,0x38(s0)
andi v0,v0,0x81
li v1,0x80
bne v0,v1,0x00019658
_nop
b 0x00019658
_sw zero,0x20(s0)
addiu a1,a1,-0x17c4
or a0,s3,zero
lw t9,-0x7fbc(gp)
bal 0x00022d40
_nop
lw gp,0x18(sp)
b 0x000194d0
_li v0,0x1
lw a1,-0x7fd4(gp)
addiu a1,a1,-0x177c
or a0,s3,zero
lw t9,-0x7fbc(gp)
bal 0x00022d40
_nop
lw gp,0x18(sp)
b 0x000194f4
_lw v0,0x24(s0)
lw v0,0x44(s0)
andi v1,v0,0x80
beq v1,zero,0x0001963c
_ori v0,v0,0x1
sw v0,0x44(s0)
lw v0,0x38(s0)
andi v0,v0,0x1
bne v0,zero,0x00019558
_nop
lbu v0,0xf4(s1)
bne v0,zero,0x00019558
_nop
lw v0,0x44(s0)
andi v0,v0,0x1
beq v0,zero,0x000197d0
_nop
lw v0,0x2c(s0)
lw a2,0x24(s0)
sltu v1,v0,a2
beq v1,zero,0x000197d0
_subu s4,a2,v0
bltz s4,0x00019748
_lui a2,0x7fff
lw a1,0x1c(s0)
or a3,zero,zero
or a2,s4,zero
addu a1,a1,v0
lw a0,0x40(s0)
lw t9,-0x7ecc(gp)
jalr t9
_nop
lw gp,0x18(sp)
blez v0,0x00019750
_nop
lw v1,0x2c(s0)
addu v1,v1,v0
sltu v0,v0,s4
beq v0,zero,0x000197c0
_sw v1,0x2c(s0)
lw v0,0x44(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x44(s0)
lw v0,0x44(s0)
andi v0,v0,0x80
bne v0,zero,0x000196ec
_nop
beq s2,zero,0x000197d0
_nop
b 0x000197d0
_sw zero,0x24(s0)
b 0x00019574
_ori s4,v0,0xffff
beq v0,v1,0x000195c8
_li a0,-0x2
lw v1,0x38(s0)
and v1,v1,a0
sw v1,0x38(s0)
li v1,-0x1c
beq v0,v1,0x000195c8
_nop
b 0x000195c8
_sw zero,0x20(s0)
lw a0,0xe4(s1)
lw t9,-0x7e44(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x000195c8
_li v0,0x1
b 0x000195c8
_sb v0,0xf4(s1)
b 0x00019684
_ori s4,a2,0xffff
beq v0,zero,0x00019b9c
_li v1,-0x2
lw t9,-0x7e28(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v1,0x0(v0)
li v0,-0x9
and v0,v1,v0
li a0,0x4
beq v0,a0,0x000197c0
_addiu v0,v1,-0x17
sltiu v0,v0,0x2
bne v0,zero,0x000197c0
_li v0,0x84
beq v1,v0,0x000197c0
_li v0,-0x2
lw a0,0x44(s0)
and v0,a0,v0
bne s2,zero,0x00019ba8
_sw v0,0x44(s0)
andi a0,a0,0x80
bne a0,zero,0x00019ba8
_li v0,0xb
bne v1,v0,0x00019ba8
_nop
b 0x000196d8
_lw v0,0x44(s0)
lw v0,0x44(s0)
andi v1,v0,0x1
beq v1,zero,0x000196dc
_andi v0,v0,0x80
lw v0,0x38(s0)
andi v0,v0,0x2
beq v0,zero,0x00019838
_nop
lw s2,0x2c(s0)
beq s2,zero,0x00019838
_nop
bltz s2,0x000198d8
_nop
or a2,s2,zero
lw a1,0x1c(s0)
lw a0,0xe4(s1)
lw t9,-0x7ed0(gp)
jalr t9
_nop
lw gp,0x18(sp)
blez v0,0x000198e4
_or s4,v0,zero
lw v0,0x2c(s0)
subu s5,v0,s4
bne s5,zero,0x00019980
_or a2,s5,zero
sw s5,0x2c(s0)
lw v0,0x2c(s0)
beq v0,zero,0x00019950
_nop
lw v0,0x44(s0)
andi v0,v0,0x2
beq v0,zero,0x00019ac0
_nop
lw s2,0x28(s0)
beq s2,zero,0x00019ac0
_nop
bltz s2,0x000199b4
_nop
li a3,0x4000
or a2,s2,zero
lw a1,0x18(s0)
lw a0,0x40(s0)
lw t9,-0x7ee4(gp)
jalr t9
_nop
lw gp,0x18(sp)
blez v0,0x000199c0
_or s4,v0,zero
lw v0,0x28(s0)
subu s5,v0,s4
bne s5,zero,0x00019a8c
_or a2,s5,zero
sw s5,0x28(s0)
lw v0,0x28(s0)
bne v0,zero,0x00019ac0
_nop
lw v0,0x44(s0)
andi v1,v0,0x80
beq v1,zero,0x00019ac0
_li v1,-0x3
and v0,v0,v1
sw v0,0x44(s0)
sw zero,0x20(s0)
lw v0,0x38(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x38(s0)
b 0x00019af4
_sb zero,0xf4(s1)
lui s2,0x7fff
b 0x000197f4
_ori s2,s2,0xffff
li v0,-0x34
beq s4,v0,0x0001982c
_li v1,-0x3
lw v0,0x38(s0)
and v0,v0,v1
sw v0,0x38(s0)
or a0,s4,zero
lw t9,-0x7e78(gp)
jalr t9
_nop
lw gp,0x18(sp)
sw v0,0x10(sp)
or a2,zero,zero
lw a3,0x2c(s0)
lw a1,-0x7fd4(gp)
addiu a1,a1,-0x170c
or a0,s3,zero
lw t9,-0x7fbc(gp)
bal 0x00022d40
_nop
lw gp,0x18(sp)
sw zero,0x2c(s0)
sw zero,0x24(s0)
lw v0,0x44(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x44(s0)
lw v0,0x38(s0)
andi v1,v0,0x80
beq v1,zero,0x00019838
_li v1,-0x3
and v0,v0,v1
sw v0,0x38(s0)
sw zero,0x24(s0)
lw v0,0x44(s0)
li v1,-0x2
and v0,v0,v1
b 0x00019838
_sw v0,0x44(s0)
lw a0,0x1c(s0)
addu a1,a0,s4
lw t9,-0x7d30(gp)
jalr t9
_nop
lw gp,0x18(sp)
sltu s2,s4,s2
beq s2,zero,0x00019828
_li v1,-0x3
lw v0,0x38(s0)
and v0,v0,v1
b 0x00019828
_sw v0,0x38(s0)
lui s2,0x7fff
b 0x0001985c
_ori s2,s2,0xffff
lw t9,-0x7e28(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw a0,0x0(v0)
li v0,-0x9
and v0,a0,v0
li v1,0x4
beq v0,v1,0x00019898
_addiu v0,a0,-0x17
sltiu v0,v0,0x2
bne v0,zero,0x00019898
_li v0,0x84
beq a0,v0,0x00019898
_li v1,-0x3
lw v0,0x44(s0)
and v0,v0,v1
sw v0,0x44(s0)
li v0,0xb
beq a0,v0,0x00019898
_lw t9,-0x7dd8(gp)
lw s2,0x28(s0)
jalr t9
_nop
lw gp,0x18(sp)
sw v0,0x10(sp)
or a2,zero,zero
or a3,s2,zero
lw a1,-0x7fd4(gp)
addiu a1,a1,-0x16b4
or a0,s3,zero
lw t9,-0x7fbc(gp)
bal 0x00022d40
_nop
lw gp,0x18(sp)
sw zero,0x28(s0)
sw zero,0x20(s0)
lw v0,0x38(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x38(s0)
sb zero,0xf4(s1)
lw v0,0x28(s0)
bne v0,zero,0x00019af4
_nop
lw v0,0x44(s0)
andi v1,v0,0x80
beq v1,zero,0x00019af4
_li v1,-0x3
b 0x000198b8
_and v0,v0,v1
lw a0,0x18(s0)
addu a1,a0,s4
lw t9,-0x7d30(gp)
jalr t9
_nop
lw gp,0x18(sp)
sltu s2,s4,s2
beq s2,zero,0x00019894
_li v1,-0x3
lw v0,0x44(s0)
and v0,v0,v1
b 0x00019894
_sw v0,0x44(s0)
lbu v0,0xf4(s1)
beq v0,zero,0x00019af4
_nop
lw v0,0x28(s0)
lw v1,0x20(s0)
sltu v0,v0,v1
beq v0,zero,0x00019af4
_nop
lw v0,0xf8(s3)
andi v0,v0,0x4
bne v0,zero,0x00019af4
_li v0,0x1
sb v0,0xe4(s3)
lbu v0,0xe0(s3)
andi v0,v0,0xff
beq v0,zero,0x00019b7c
_lw ra,0x3c(sp)
lw v0,0x24(s0)
bne v0,zero,0x00019b44
_nop
lw a3,0x2c(s0)
beq a3,zero,0x00019b80
_lw s5,0x38(sp)
or a2,zero,zero
lw a1,-0x7fd4(gp)
addiu a1,a1,-0x1660
or a0,s3,zero
lw t9,-0x7fbc(gp)
bal 0x00022d40
_nop
lw gp,0x18(sp)
b 0x00019b54
_sw zero,0x2c(s0)
lw a3,0x2c(s0)
bne a3,zero,0x00019b20
_or a2,zero,zero
sw zero,0x2c(s0)
lw v0,0x38(s0)
li v1,-0x3
and v0,v0,v1
sw v0,0x38(s0)
sw zero,0x24(s0)
lw v0,0x44(s0)
li v1,-0x2
and v0,v0,v1
sw v0,0x44(s0)
lw ra,0x3c(sp)
lw s5,0x38(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s2,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x40
lw v0,0x44(s0)
and v0,v0,v1
sw v0,0x44(s0)
b 0x000196d4
_sw zero,0x24(s0)
(translation_unit "void FUN_00019470(int *param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}\n\n" (function_definition "void FUN_00019470(int *param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}" primitive_type (function_declarator "FUN_00019470(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (expression_statement "iVar7 = *param_1;" (assignment_expression "iVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }" if (parenthesized_expression "(*(char *)(iVar8 + 0xe0) != '\0')" ( (binary_expression "*(char *)(iVar8 + 0xe0) != '\0'" (pointer_expression "*(char *)(iVar8 + 0xe0)" * (cast_expression "(char *)(iVar8 + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xe0)" ( (binary_expression "iVar8 + 0xe0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }" { (if_statement "if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x14) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x14) == '\0'" (pointer_expression "*(char *)(param_1 + 0x14)" * (cast_expression "(char *)(param_1 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" { (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4" identifier > (binary_expression "__d_0004105c + -0x17c4" identifier + number_literal)) ))) ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x14)" * (cast_expression "(undefined1 *)(param_1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "cVar1 = *(char *)(param_1 + 0x14);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x14)" identifier = (pointer_expression "*(char *)(param_1 + 0x14)" * (cast_expression "(char *)(param_1 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }" { (if_statement "if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" if (parenthesized_expression "(param_1[10] == 0)" ( (binary_expression "param_1[10] == 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar2 = param_1[9];\n    }" { (expression_statement "iVar2 = param_1[9];" (assignment_expression "iVar2 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" else (compound_statement "{\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" { (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c" identifier > (binary_expression "__d_0004105c + -0x177c" identifier + number_literal)) , number_literal ))) ;) (expression_statement "iVar2 = param_1[9];" (assignment_expression "iVar2 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      param_1[0x11] = param_1[0x11] | 1;\n    }" { (expression_statement "param_1[0x11] = param_1[0x11] | 1;" (assignment_expression "param_1[0x11] = param_1[0x11] | 1" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] | 1" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) | number_literal)) ;) })) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffd;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" if (parenthesized_expression "((param_1[0xe] & 0x80U) == 0)" ( (binary_expression "(param_1[0xe] & 0x80U) == 0" (parenthesized_expression "(param_1[0xe] & 0x80U)" ( (binary_expression "param_1[0xe] & 0x80U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }" { (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 & 0x80) != 0) goto LAB_00019638;" if (parenthesized_expression "((uVar3 & 0x80) != 0)" ( (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00019638;" goto statement_identifier ;)) (labeled_statement "LAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;" statement_identifier : (if_statement "if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;" if (parenthesized_expression "(((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0'))" ( (binary_expression "((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')" (parenthesized_expression "((param_1[0xe] & 1U) != 0)" ( (binary_expression "(param_1[0xe] & 1U) != 0" (parenthesized_expression "(param_1[0xe] & 1U)" ( (binary_expression "param_1[0xe] & 1U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(*(char *)(iVar7 + 0xf4) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0xf4) != '\0'" (pointer_expression "*(char *)(iVar7 + 0xf4)" * (cast_expression "(char *)(iVar7 + 0xf4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00019558;" goto statement_identifier ;))) }) (else_clause "else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" else (compound_statement "{\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" { (expression_statement "param_1[0xe] = param_1[0xe] | 1;" (assignment_expression "param_1[0xe] = param_1[0xe] | 1" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] | 1" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }" if (parenthesized_expression "((uVar3 & 0x80) != 0)" ( (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }" { (labeled_statement "LAB_00019638:\n      param_1[0x11] = uVar3 | 1;" statement_identifier : (expression_statement "param_1[0x11] = uVar3 | 1;" (assignment_expression "param_1[0x11] = uVar3 | 1" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "uVar3 | 1" identifier | number_literal)) ;)) (goto_statement "goto LAB_0001963c;" goto statement_identifier ;) })) (labeled_statement "LAB_00019558:\n    uVar3 = param_1[8] - param_1[10];" statement_identifier : (expression_statement "uVar3 = param_1[8] - param_1[10];" (assignment_expression "uVar3 = param_1[8] - param_1[10]" identifier = (binary_expression "param_1[8] - param_1[10]" (subscript_expression "param_1[8]" identifier [ number_literal ]) - (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;)) (if_statement "if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }" if (parenthesized_expression "((uint)param_1[10] < (uint)param_1[8])" ( (binary_expression "(uint)param_1[10] < (uint)param_1[8]" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ]))) )) (compound_statement "{\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }" { (if_statement "if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }" if (parenthesized_expression "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar3 = 0x7fffffff;\n      }" { (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" identifier = (call_expression "(*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" (parenthesized_expression "(*(code *)PTR_gnutls_record_recv_000412d0)" ( (pointer_expression "*(code *)PTR_gnutls_record_recv_000412d0" * (cast_expression "(code *)PTR_gnutls_record_recv_000412d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" * (cast_expression "(undefined4 *)(iVar7 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xe4)" ( (binary_expression "iVar7 + 0xe4" identifier + number_literal) )))) , (binary_expression "param_1[6] + param_1[10]" (subscript_expression "param_1[6]" identifier [ number_literal ]) + (subscript_expression "param_1[10]" identifier [ number_literal ])) , identifier )))) ;) (if_statement "if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }" { (if_statement "if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }" if (parenthesized_expression "((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           )" ( (binary_expression "(uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)" (parenthesized_expression "(uVar4 != 0xffffffcc)" ( (binary_expression "uVar4 != 0xffffffcc" identifier != number_literal) )) && (parenthesized_expression "(param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)" ( (comma_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) , (binary_expression "uVar4 != 0xffffffe4" identifier != number_literal)) ))) )) (compound_statement "{\n          param_1[8] = 0;\n        }" { (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" else (compound_statement "{\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" { (expression_statement "param_1[10] = param_1[10] + uVar4;" (assignment_expression "param_1[10] = param_1[10] + uVar4" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (binary_expression "param_1[10] + uVar4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" if (parenthesized_expression "(uVar4 < uVar3)" ( (binary_expression "uVar4 < uVar3" identifier < identifier) )) (compound_statement "{\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }" { (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" else (compound_statement "{\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;" (assignment_expression "iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))" identifier = (call_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))" (parenthesized_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)" ( (pointer_expression "*(code *)PTR_gnutls_record_check_pending_000411ec" * (cast_expression "(code *)PTR_gnutls_record_check_pending_000411ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0xe4))" ( (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" * (cast_expression "(undefined4 *)(iVar7 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xe4)" ( (binary_expression "iVar7 + 0xe4" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }" { (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 1;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 1" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) })) }))) }))) (if_statement "if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }" if (parenthesized_expression "((param_1[0xe] & 0x81U) == 0x80)" ( (binary_expression "(param_1[0xe] & 0x81U) == 0x80" (parenthesized_expression "(param_1[0xe] & 0x81U)" ( (binary_expression "param_1[0xe] & 0x81U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[8] = 0;\n      }" { (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) })) })) }))) (if_statement "if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }" if (parenthesized_expression "((param_1[0x11] & 1U) != 0)" ( (binary_expression "(param_1[0x11] & 1U) != 0" (parenthesized_expression "(param_1[0x11] & 1U)" ( (binary_expression "param_1[0x11] & 1U" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }" { (expression_statement "uVar3 = param_1[0xb];" (assignment_expression "uVar3 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[9] - uVar3;" (assignment_expression "uVar4 = param_1[9] - uVar3" identifier = (binary_expression "param_1[9] - uVar3" (subscript_expression "param_1[9]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }" if (parenthesized_expression "(uVar3 < (uint)param_1[9])" ( (binary_expression "uVar3 < (uint)param_1[9]" identifier < (cast_expression "(uint)param_1[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[9]" identifier [ number_literal ]))) )) (compound_statement "{\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }" { (if_statement "if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }" if (parenthesized_expression "((int)uVar4 < 0)" ( (binary_expression "(int)uVar4 < 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar4 = 0x7fffffff;\n      }" { (expression_statement "uVar4 = 0x7fffffff;" (assignment_expression "uVar4 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);" (assignment_expression "uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0)" identifier = (call_expression "(*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0)" (parenthesized_expression "(*(code *)PTR_recv_00041164)" ( (pointer_expression "*(code *)PTR_recv_00041164" * (cast_expression "(code *)PTR_recv_00041164" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x10],param_1[7] + uVar3,uVar4,0)" ( (subscript_expression "param_1[0x10]" identifier [ number_literal ]) , (binary_expression "param_1[7] + uVar3" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) , identifier , number_literal )))) ;) (if_statement "if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" if (parenthesized_expression "((int)uVar3 < 1)" ( (binary_expression "(int)uVar3 < 1" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }" { (if_statement "if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }" { (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" else (compound_statement "{\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" { (expression_statement "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)()" identifier = (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" ( (pointer_expression "*(code *)PTR___errno_location_00041208" * (cast_expression "(code *)PTR___errno_location_00041208" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = *puVar5;" (assignment_expression "uVar3 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (if_statement "if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;" if (parenthesized_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))" ( (binary_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)" (parenthesized_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2))" ( (binary_expression "((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)" (parenthesized_expression "((uVar3 & 0xfffffff7) == 4)" ( (binary_expression "(uVar3 & 0xfffffff7) == 4" (parenthesized_expression "(uVar3 & 0xfffffff7)" ( (binary_expression "uVar3 & 0xfffffff7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar3 - 0x17 < 2)" ( (binary_expression "uVar3 - 0x17 < 2" (binary_expression "uVar3 - 0x17" identifier - number_literal) < number_literal) ))) )) || (parenthesized_expression "(uVar3 == 0x84)" ( (binary_expression "uVar3 == 0x84" identifier == number_literal) ))) )) (goto_statement "goto LAB_000197c0;" goto statement_identifier ;)) (expression_statement "uVar4 = param_1[0x11];" (assignment_expression "uVar4 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x11] = uVar4 & 0xfffffffe;" (assignment_expression "param_1[0x11] = uVar4 & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "uVar4 & 0xfffffffe" identifier & number_literal)) ;) (if_statement "if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }" if (parenthesized_expression "(((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb))" ( (binary_expression "((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)" (parenthesized_expression "((cVar1 == '\0') && ((uVar4 & 0x80) == 0))" ( (binary_expression "(cVar1 == '\0') && ((uVar4 & 0x80) == 0)" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((uVar4 & 0x80) == 0)" ( (binary_expression "(uVar4 & 0x80) == 0" (parenthesized_expression "(uVar4 & 0x80)" ( (binary_expression "uVar4 & 0x80" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(uVar3 == 0xb)" ( (binary_expression "uVar3 == 0xb" identifier == number_literal) ))) )) (compound_statement "{\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }" { (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000196dc;" goto statement_identifier ;) })) }))) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_000196d4:\n        uVar3 = param_1[0x11];" statement_identifier : (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" else (compound_statement "{\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" { (expression_statement "param_1[0xb] = param_1[0xb] + uVar3;" (assignment_expression "param_1[0xb] = param_1[0xb] + uVar3" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (binary_expression "param_1[0xb] + uVar3" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }" if (parenthesized_expression "(uVar3 < uVar4)" ( (binary_expression "uVar3 < uVar4" identifier < identifier) )) (compound_statement "{\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }" { (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) (goto_statement "goto LAB_000196d4;" goto statement_identifier ;) })) (labeled_statement "LAB_000197c0:\n        uVar3 = param_1[0x11];" statement_identifier : (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;)) (if_statement "if ((uVar3 & 1) != 0) goto LAB_000197d0;" if (parenthesized_expression "((uVar3 & 1) != 0)" ( (binary_expression "(uVar3 & 1) != 0" (parenthesized_expression "(uVar3 & 1)" ( (binary_expression "uVar3 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000197d0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }" statement_identifier : (if_statement "if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }" if (parenthesized_expression "(((uVar3 & 0x80) != 0) || (cVar1 != '\0'))" ( (binary_expression "((uVar3 & 0x80) != 0) || (cVar1 != '\0')" (parenthesized_expression "((uVar3 & 0x80) != 0)" ( (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        param_1[9] = 0;\n      }" { (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) }))) })) })) (labeled_statement "LAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" statement_identifier : (if_statement "if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" if (parenthesized_expression "(((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0))" ( (binary_expression "((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)" (parenthesized_expression "((param_1[0xe] & 2U) != 0)" ( (binary_expression "(param_1[0xe] & 2U) != 0" (parenthesized_expression "(param_1[0xe] & 2U)" ( (binary_expression "param_1[0xe] & 2U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar3 = param_1[0xb], uVar3 != 0)" ( (comma_expression "uVar3 = param_1[0xb], uVar3 != 0" (assignment_expression "uVar3 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) , (binary_expression "uVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" { (if_statement "if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }" if (parenthesized_expression "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar3 = 0x7fffffff;\n    }" { (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" identifier = (call_expression "(*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" (parenthesized_expression "(*(code *)PTR_gnutls_record_send_00041160)" ( (pointer_expression "*(code *)PTR_gnutls_record_send_00041160" * (cast_expression "(code *)PTR_gnutls_record_send_00041160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" * (cast_expression "(undefined4 *)(iVar7 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xe4)" ( (binary_expression "iVar7 + 0xe4" identifier + number_literal) )))) , (subscript_expression "param_1[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" { (if_statement "if (uVar4 == 0xffffffcc) goto LAB_0001982c;" if (parenthesized_expression "(uVar4 == 0xffffffcc)" ( (binary_expression "uVar4 == 0xffffffcc" identifier == number_literal) )) (goto_statement "goto LAB_0001982c;" goto statement_identifier ;)) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);" (assignment_expression "uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" identifier = (call_expression "(*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" (parenthesized_expression "(*(code *)PTR_gnutls_strerror_000411b8)" ( (pointer_expression "*(code *)PTR_gnutls_strerror_000411b8" * (cast_expression "(code *)PTR_gnutls_strerror_000411b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c" identifier > (binary_expression "__d_0004105c + -0x170c" identifier + number_literal)) , number_literal , (subscript_expression "param_1[0xb]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" else (compound_statement "{\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" { (expression_statement "iVar2 = param_1[0xb] - uVar4;" (assignment_expression "iVar2 = param_1[0xb] - uVar4" identifier = (binary_expression "param_1[0xb] - uVar4" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }" if (parenthesized_expression "((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3))" ( (binary_expression "(iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)" ( (comma_expression "(*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3" (call_expression "(*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" ( (pointer_expression "*(code *)PTR_memmove_00041300" * (cast_expression "(code *)PTR_memmove_00041300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[7],param_1[7] + uVar4,iVar2)" ( (subscript_expression "param_1[7]" identifier [ number_literal ]) , (binary_expression "param_1[7] + uVar4" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) , identifier ))) , (binary_expression "uVar4 < uVar3" identifier < identifier)) ))) )) (compound_statement "{\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }" { (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) })) (expression_statement "param_1[0xb] = iVar2;" (assignment_expression "param_1[0xb] = iVar2" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;" statement_identifier : (if_statement "if (param_1[0xb] != 0) goto LAB_00019838;" if (parenthesized_expression "(param_1[0xb] != 0)" ( (binary_expression "param_1[0xb] != 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00019838;" goto statement_identifier ;))) }))) (if_statement "if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" if (parenthesized_expression "((param_1[0xe] & 0x80U) != 0)" ( (binary_expression "(param_1[0xe] & 0x80U) != 0" (parenthesized_expression "(param_1[0xe] & 0x80U)" ( (binary_expression "param_1[0xe] & 0x80U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" { (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) })) }))) (labeled_statement "LAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" statement_identifier : (if_statement "if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" if (parenthesized_expression "(((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0))" ( (binary_expression "((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)" (parenthesized_expression "((param_1[0x11] & 2U) == 0)" ( (binary_expression "(param_1[0x11] & 2U) == 0" (parenthesized_expression "(param_1[0x11] & 2U)" ( (binary_expression "param_1[0x11] & 2U" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar3 = param_1[10], uVar3 == 0)" ( (comma_expression "uVar3 = param_1[10], uVar3 == 0" (assignment_expression "uVar3 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) , (binary_expression "uVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }" { (labeled_statement "LAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" statement_identifier : (if_statement "if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" if (parenthesized_expression "((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0))))" ( (binary_expression "(*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))" (parenthesized_expression "(*(char *)(iVar7 + 0xf4) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0xf4) != '\0'" (pointer_expression "*(char *)(iVar7 + 0xf4)" * (cast_expression "(char *)(iVar7 + 0xf4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))" ( (parenthesized_expression "((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0))" ( (binary_expression "(uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)" (binary_expression "(uint)param_1[10] < (uint)param_1[8]" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ]))) && (parenthesized_expression "((*(uint *)(iVar8 + 0xf8) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar8 + 0xf8) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar8 + 0xf8) & 4)" ( (binary_expression "*(uint *)(iVar8 + 0xf8) & 4" (pointer_expression "*(uint *)(iVar8 + 0xf8)" * (cast_expression "(uint *)(iVar8 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xf8)" ( (binary_expression "iVar8 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" { (expression_statement "*(undefined1 *)(iVar8 + 0xe4) = 1;" (assignment_expression "*(undefined1 *)(iVar8 + 0xe4) = 1" (pointer_expression "*(undefined1 *)(iVar8 + 0xe4)" * (cast_expression "(undefined1 *)(iVar8 + 0xe4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xe4)" ( (binary_expression "iVar8 + 0xe4" identifier + number_literal) )))) = number_literal) ;) }))) }) (else_clause "else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" else (compound_statement "{\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" { (if_statement "if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }" if (parenthesized_expression "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar3 = 0x7fffffff;\n    }" { (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);" (assignment_expression "uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000)" identifier = (call_expression "(*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000)" (parenthesized_expression "(*(code *)PTR_send_0004114c)" ( (pointer_expression "*(code *)PTR_send_0004114c" * (cast_expression "(code *)PTR_send_0004114c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x10],param_1[6],uVar3,0x4000)" ( (subscript_expression "param_1[0x10]" identifier [ number_literal ]) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , identifier , number_literal )))) ;) (if_statement "if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }" { (expression_statement "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)()" identifier = (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" ( (pointer_expression "*(code *)PTR___errno_location_00041208" * (cast_expression "(code *)PTR___errno_location_00041208" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = *puVar5;" (assignment_expression "uVar3 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (if_statement "if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;" if (parenthesized_expression "(((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb))" ( (binary_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)" (parenthesized_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))" ( (binary_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)" (parenthesized_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2))" ( (binary_expression "((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)" (parenthesized_expression "((uVar3 & 0xfffffff7) == 4)" ( (binary_expression "(uVar3 & 0xfffffff7) == 4" (parenthesized_expression "(uVar3 & 0xfffffff7)" ( (binary_expression "uVar3 & 0xfffffff7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar3 - 0x17 < 2)" ( (binary_expression "uVar3 - 0x17 < 2" (binary_expression "uVar3 - 0x17" identifier - number_literal) < number_literal) ))) )) || (parenthesized_expression "(uVar3 == 0x84)" ( (binary_expression "uVar3 == 0x84" identifier == number_literal) ))) )) || (parenthesized_expression "(param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)" ( (comma_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) , (binary_expression "uVar3 == 0xb" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00019898;" goto statement_identifier ;)) (expression_statement "iVar2 = param_1[10];" (assignment_expression "iVar2 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (*(code *)PTR_strerror_00041258)();" (assignment_expression "uVar6 = (*(code *)PTR_strerror_00041258)()" identifier = (call_expression "(*(code *)PTR_strerror_00041258)()" (parenthesized_expression "(*(code *)PTR_strerror_00041258)" ( (pointer_expression "*(code *)PTR_strerror_00041258" * (cast_expression "(code *)PTR_strerror_00041258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4" identifier > (binary_expression "__d_0004105c + -0x16b4" identifier + number_literal)) , number_literal , identifier , identifier ))) ;) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;" if (parenthesized_expression "((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0))" ( (binary_expression "(param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)" (parenthesized_expression "(param_1[10] == 0)" ( (binary_expression "param_1[10] == 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)" ( (comma_expression "uVar3 = param_1[0x11], (uVar3 & 0x80) != 0" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) , (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal)) ))) )) (goto_statement "goto LAB_000198b8;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" else (compound_statement "{\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" { (expression_statement "iVar2 = param_1[10] - uVar4;" (assignment_expression "iVar2 = param_1[10] - uVar4" identifier = (binary_expression "param_1[10] - uVar4" (subscript_expression "param_1[10]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }" if (parenthesized_expression "((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3))" ( (binary_expression "(iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)" ( (comma_expression "(*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3" (call_expression "(*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" ( (pointer_expression "*(code *)PTR_memmove_00041300" * (cast_expression "(code *)PTR_memmove_00041300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[6],param_1[6] + uVar4,iVar2)" ( (subscript_expression "param_1[6]" identifier [ number_literal ]) , (binary_expression "param_1[6] + uVar4" (subscript_expression "param_1[6]" identifier [ number_literal ]) + identifier) , identifier ))) , (binary_expression "uVar4 < uVar3" identifier < identifier)) ))) )) (compound_statement "{\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }" { (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffd;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) })) (expression_statement "param_1[10] = iVar2;" (assignment_expression "param_1[10] = iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;" statement_identifier : (if_statement "if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;" if (parenthesized_expression "((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0))" ( (binary_expression "(param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)" (parenthesized_expression "(param_1[10] != 0)" ( (binary_expression "param_1[10] != 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)" ( (comma_expression "uVar3 = param_1[0x11], (uVar3 & 0x80) == 0" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) , (binary_expression "(uVar3 & 0x80) == 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00019ac0;" goto statement_identifier ;))) (labeled_statement "LAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;" statement_identifier : (expression_statement "param_1[0x11] = uVar3 & 0xfffffffd;" (assignment_expression "param_1[0x11] = uVar3 & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "uVar3 & 0xfffffffd" identifier & number_literal)) ;)) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) }))) })))) (if_statement "if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }" if (parenthesized_expression "(*(char *)(iVar8 + 0xe0) == '\0')" ( (binary_expression "*(char *)(iVar8 + 0xe0) == '\0'" (pointer_expression "*(char *)(iVar8 + 0xe0)" * (cast_expression "(char *)(iVar8 + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xe0)" ( (binary_expression "iVar8 + 0xe0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" if (parenthesized_expression "(param_1[9] == 0)" ( (binary_expression "param_1[9] == 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }" { (if_statement "if (param_1[0xb] == 0) {\n      return;\n    }" if (parenthesized_expression "(param_1[0xb] == 0)" ( (binary_expression "param_1[0xb] == 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" else (if_statement "if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" if (parenthesized_expression "(param_1[0xb] == 0)" ( (binary_expression "param_1[0xb] == 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" { (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00019b54;" goto statement_identifier ;) })))) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660" identifier > (binary_expression "__d_0004105c + -0x1660" identifier + number_literal)) , number_literal ))) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;" statement_identifier : (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;)) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit "/* 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 process_urh(MHD_UpgradeResponseHandle *urh)\n\n{\n  _Bool _Var1;\n  size_t sVar2;\n  MHD_EpollState MVar3;\n  uint uVar4;\n  int iVar5;\n  uint *puVar6;\n  undefined4 uVar7;\n  MHD_Connection *pMVar8;\n  MHD_Daemon *daemon;\n  uint uVar9;\n  \n  pMVar8 = urh->connection;\n  daemon = pMVar8->daemon;\n  if (daemon->shutdown != false) {\n    if (urh->was_closed == false) {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    urh->was_closed = true;\n  }\n  _Var1 = urh->was_closed;\n  if (_Var1 != false) {\n    if (urh->in_buffer_used == 0) {\n      sVar2 = urh->out_buffer_size;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }\n    if (sVar2 != 0) {\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }\n    urh->in_buffer_used = 0;\n    (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n    urh->in_buffer_size = 0;\n    (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n    pMVar8->tls_read_ready = false;\n  }\n  MVar3 = (urh->app).celi;\n  if ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;\nLAB_0001963c:\n    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;\n  }\n  else {\n    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;\n    if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }\n  }\n  if (((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) {\n    uVar9 = urh->out_buffer_used;\n    uVar4 = urh->out_buffer_size - uVar9;\n    if (uVar9 < urh->out_buffer_size) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if ((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0)) {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }\n    MVar3 = (urh->app).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n  }\nLAB_00019838:\n  if ((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0)) {\nLAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }\n  }\n  else {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }\n  if (daemon->shutdown == false) {\n    return;\n  }\n  if (urh->out_buffer_size == 0) {\n    if (urh->out_buffer_used == 0) {\n      return;\n    }\n  }\n  else if (urh->out_buffer_used == 0) {\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\n  }\n  MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  urh->out_buffer_used = 0;\nLAB_00019b54:\n  (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n  urh->out_buffer_size = 0;\n  (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n  return;\n}\n\n" comment comment comment (function_definition "void process_urh(MHD_UpgradeResponseHandle *urh)\n\n{\n  _Bool _Var1;\n  size_t sVar2;\n  MHD_EpollState MVar3;\n  uint uVar4;\n  int iVar5;\n  uint *puVar6;\n  undefined4 uVar7;\n  MHD_Connection *pMVar8;\n  MHD_Daemon *daemon;\n  uint uVar9;\n  \n  pMVar8 = urh->connection;\n  daemon = pMVar8->daemon;\n  if (daemon->shutdown != false) {\n    if (urh->was_closed == false) {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    urh->was_closed = true;\n  }\n  _Var1 = urh->was_closed;\n  if (_Var1 != false) {\n    if (urh->in_buffer_used == 0) {\n      sVar2 = urh->out_buffer_size;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }\n    if (sVar2 != 0) {\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }\n    urh->in_buffer_used = 0;\n    (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n    urh->in_buffer_size = 0;\n    (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n    pMVar8->tls_read_ready = false;\n  }\n  MVar3 = (urh->app).celi;\n  if ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;\nLAB_0001963c:\n    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;\n  }\n  else {\n    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;\n    if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }\n  }\n  if (((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) {\n    uVar9 = urh->out_buffer_used;\n    uVar4 = urh->out_buffer_size - uVar9;\n    if (uVar9 < urh->out_buffer_size) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if ((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0)) {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }\n    MVar3 = (urh->app).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n  }\nLAB_00019838:\n  if ((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0)) {\nLAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }\n  }\n  else {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }\n  if (daemon->shutdown == false) {\n    return;\n  }\n  if (urh->out_buffer_size == 0) {\n    if (urh->out_buffer_used == 0) {\n      return;\n    }\n  }\n  else if (urh->out_buffer_used == 0) {\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\n  }\n  MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  urh->out_buffer_used = 0;\nLAB_00019b54:\n  (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n  urh->out_buffer_size = 0;\n  (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n  return;\n}" primitive_type (function_declarator "process_urh(MHD_UpgradeResponseHandle *urh)" identifier (parameter_list "(MHD_UpgradeResponseHandle *urh)" ( (parameter_declaration "MHD_UpgradeResponseHandle *urh" type_identifier (pointer_declarator "*urh" * identifier)) ))) (compound_statement "{\n  _Bool _Var1;\n  size_t sVar2;\n  MHD_EpollState MVar3;\n  uint uVar4;\n  int iVar5;\n  uint *puVar6;\n  undefined4 uVar7;\n  MHD_Connection *pMVar8;\n  MHD_Daemon *daemon;\n  uint uVar9;\n  \n  pMVar8 = urh->connection;\n  daemon = pMVar8->daemon;\n  if (daemon->shutdown != false) {\n    if (urh->was_closed == false) {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    urh->was_closed = true;\n  }\n  _Var1 = urh->was_closed;\n  if (_Var1 != false) {\n    if (urh->in_buffer_used == 0) {\n      sVar2 = urh->out_buffer_size;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }\n    if (sVar2 != 0) {\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }\n    urh->in_buffer_used = 0;\n    (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n    urh->in_buffer_size = 0;\n    (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n    pMVar8->tls_read_ready = false;\n  }\n  MVar3 = (urh->app).celi;\n  if ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;\nLAB_0001963c:\n    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;\n  }\n  else {\n    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;\n    if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }\n  }\n  if (((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) {\n    uVar9 = urh->out_buffer_used;\n    uVar4 = urh->out_buffer_size - uVar9;\n    if (uVar9 < urh->out_buffer_size) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if ((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0)) {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }\n    MVar3 = (urh->app).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n  }\nLAB_00019838:\n  if ((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0)) {\nLAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }\n  }\n  else {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }\n  if (daemon->shutdown == false) {\n    return;\n  }\n  if (urh->out_buffer_size == 0) {\n    if (urh->out_buffer_used == 0) {\n      return;\n    }\n  }\n  else if (urh->out_buffer_used == 0) {\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\n  }\n  MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  urh->out_buffer_used = 0;\nLAB_00019b54:\n  (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n  urh->out_buffer_size = 0;\n  (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n  return;\n}" { (declaration "_Bool _Var1;" type_identifier identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "MHD_EpollState MVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "MHD_Connection *pMVar8;" type_identifier (pointer_declarator "*pMVar8" * identifier) ;) (declaration "MHD_Daemon *daemon;" type_identifier (pointer_declarator "*daemon" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (expression_statement "pMVar8 = urh->connection;" (assignment_expression "pMVar8 = urh->connection" identifier = (field_expression "urh->connection" identifier -> field_identifier)) ;) (expression_statement "daemon = pMVar8->daemon;" (assignment_expression "daemon = pMVar8->daemon" identifier = (field_expression "pMVar8->daemon" identifier -> field_identifier)) ;) (if_statement "if (daemon->shutdown != false) {\n    if (urh->was_closed == false) {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    urh->was_closed = true;\n  }" if (parenthesized_expression "(daemon->shutdown != false)" ( (binary_expression "daemon->shutdown != false" (field_expression "daemon->shutdown" identifier -> field_identifier) != false) )) (compound_statement "{\n    if (urh->was_closed == false) {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    urh->was_closed = true;\n  }" { (if_statement "if (urh->was_closed == false) {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" if (parenthesized_expression "(urh->was_closed == false)" ( (binary_expression "urh->was_closed == false" (field_expression "urh->was_closed" identifier -> field_identifier) == false) )) (compound_statement "{\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" { (expression_statement "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);" (call_expression "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" identifier (argument_list "(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4" identifier > (binary_expression "__d_0004105c + -0x17c4" identifier + number_literal)) ))) ;) })) (expression_statement "urh->was_closed = true;" (assignment_expression "urh->was_closed = true" (field_expression "urh->was_closed" identifier -> field_identifier) = true) ;) })) (expression_statement "_Var1 = urh->was_closed;" (assignment_expression "_Var1 = urh->was_closed" identifier = (field_expression "urh->was_closed" identifier -> field_identifier)) ;) (if_statement "if (_Var1 != false) {\n    if (urh->in_buffer_used == 0) {\n      sVar2 = urh->out_buffer_size;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }\n    if (sVar2 != 0) {\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }\n    urh->in_buffer_used = 0;\n    (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n    urh->in_buffer_size = 0;\n    (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n    pMVar8->tls_read_ready = false;\n  }" if (parenthesized_expression "(_Var1 != false)" ( (binary_expression "_Var1 != false" identifier != false) )) (compound_statement "{\n    if (urh->in_buffer_used == 0) {\n      sVar2 = urh->out_buffer_size;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }\n    if (sVar2 != 0) {\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }\n    urh->in_buffer_used = 0;\n    (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n    urh->in_buffer_size = 0;\n    (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n    pMVar8->tls_read_ready = false;\n  }" { (if_statement "if (urh->in_buffer_used == 0) {\n      sVar2 = urh->out_buffer_size;\n    }\n    else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\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      sVar2 = urh->out_buffer_size;\n    }" { (expression_statement "sVar2 = urh->out_buffer_size;" (assignment_expression "sVar2 = urh->out_buffer_size" identifier = (field_expression "urh->out_buffer_size" identifier -> field_identifier)) ;) }) (else_clause "else {\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }" else (compound_statement "{\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      sVar2 = urh->out_buffer_size;\n    }" { (expression_statement "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);" (call_expression "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" identifier (argument_list "(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c" identifier > (binary_expression "__d_0004105c + -0x177c" identifier + number_literal)) , number_literal ))) ;) (expression_statement "sVar2 = urh->out_buffer_size;" (assignment_expression "sVar2 = urh->out_buffer_size" identifier = (field_expression "urh->out_buffer_size" identifier -> field_identifier)) ;) }))) (if_statement "if (sVar2 != 0) {\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }" if (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      (urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;\n    }" { (expression_statement "(urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi | MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi | MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) | identifier)) ;) })) (expression_statement "urh->in_buffer_used = 0;" (assignment_expression "urh->in_buffer_used = 0" (field_expression "urh->in_buffer_used" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;) (expression_statement "urh->in_buffer_size = 0;" (assignment_expression "urh->in_buffer_size = 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) (expression_statement "pMVar8->tls_read_ready = false;" (assignment_expression "pMVar8->tls_read_ready = false" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) = false) ;) })) (expression_statement "MVar3 = (urh->app).celi;" (assignment_expression "MVar3 = (urh->app).celi" identifier = (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY) {\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;\nLAB_0001963c:\n    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;\n  }\n  else {\n    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;\n    if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }\n  }" if (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) == identifier) )) (compound_statement "{\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;\nLAB_0001963c:\n    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;\n  }" { (expression_statement "MVar3 = (urh->mhd).celi;" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) goto LAB_00019638;" if (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) != identifier) )) (goto_statement "goto LAB_00019638;" goto statement_identifier ;)) (labeled_statement "LAB_0001963c:\n    if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;" statement_identifier : (if_statement "if ((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)) goto LAB_00019558;" if (parenthesized_expression "((((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false))" ( (binary_expression "(((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) ||\n       (pMVar8->tls_read_ready != false)" (parenthesized_expression "(((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->app).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->app).celi & MHD_EPOLL_STATE_READ_READY)" ( (binary_expression "(urh->app).celi & MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & identifier) )) != identifier) )) || (parenthesized_expression "(pMVar8->tls_read_ready != false)" ( (binary_expression "pMVar8->tls_read_ready != false" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) != false) ))) )) (goto_statement "goto LAB_00019558;" goto statement_identifier ;))) }) (else_clause "else {\n    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;\n    if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }\n  }" else (compound_statement "{\n    (urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n    MVar3 = (urh->mhd).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;\n    if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }\n  }" { (expression_statement "(urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->app).celi = MVar3 | MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "MVar3 | MHD_EPOLL_STATE_READ_READY" identifier | identifier)) ;) (expression_statement "MVar3 = (urh->mhd).celi;" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }" if (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) != identifier) )) (compound_statement "{\nLAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;\n      goto LAB_0001963c;\n    }" { (labeled_statement "LAB_00019638:\n      (urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;" statement_identifier : (expression_statement "(urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = MVar3 | MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "MVar3 | MHD_EPOLL_STATE_READ_READY" identifier | identifier)) ;)) (goto_statement "goto LAB_0001963c;" goto statement_identifier ;) })) (labeled_statement "LAB_00019558:\n    uVar9 = urh->in_buffer_size - urh->in_buffer_used;" statement_identifier : (expression_statement "uVar9 = urh->in_buffer_size - urh->in_buffer_used;" (assignment_expression "uVar9 = urh->in_buffer_size - urh->in_buffer_used" identifier = (binary_expression "urh->in_buffer_size - urh->in_buffer_used" (field_expression "urh->in_buffer_size" identifier -> field_identifier) - (field_expression "urh->in_buffer_used" identifier -> field_identifier))) ;)) (if_statement "if (urh->in_buffer_used < urh->in_buffer_size) {\n      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\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      if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }\n      pMVar8->tls_read_ready = false;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }\n      if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }\n    }" { (if_statement "if ((int)uVar9 < 0) {\n        uVar9 = 0x7fffffff;\n      }" if (parenthesized_expression "((int)uVar9 < 0)" ( (binary_expression "(int)uVar9 < 0" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar9 = 0x7fffffff;\n      }" { (expression_statement "uVar9 = 0x7fffffff;" (assignment_expression "uVar9 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "pMVar8->tls_read_ready = false;" (assignment_expression "pMVar8->tls_read_ready = false" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) = false) ;) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9)" identifier = (call_expression "(*(code *)PTR_gnutls_record_recv_000412d0)\n                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9)" (parenthesized_expression "(*(code *)PTR_gnutls_record_recv_000412d0)" ( (pointer_expression "*(code *)PTR_gnutls_record_recv_000412d0" * (cast_expression "(code *)PTR_gnutls_record_recv_000412d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,uVar9)" ( (field_expression "pMVar8->tls_session" identifier -> field_identifier) , (binary_expression "urh->in_buffer + urh->in_buffer_used" (field_expression "urh->in_buffer" identifier -> field_identifier) + (field_expression "urh->in_buffer_used" identifier -> field_identifier)) , identifier )))) ;) (if_statement "if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }\n      else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }\n      }" { (if_statement "if ((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)) {\n          urh->in_buffer_size = 0;\n        }" if (parenthesized_expression "((uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4))" ( (binary_expression "(uVar4 != 0xffffffcc) &&\n           ((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)" (parenthesized_expression "(uVar4 != 0xffffffcc)" ( (binary_expression "uVar4 != 0xffffffcc" identifier != number_literal) )) && (parenthesized_expression "((urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4)" ( (comma_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY, uVar4 != 0xffffffe4" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) , (binary_expression "uVar4 != 0xffffffe4" identifier != number_literal)) ))) )) (compound_statement "{\n          urh->in_buffer_size = 0;\n        }" { (expression_statement "urh->in_buffer_size = 0;" (assignment_expression "urh->in_buffer_size = 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) = number_literal) ;) })) }) (else_clause "else {\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }" else (compound_statement "{\n        urh->in_buffer_used = urh->in_buffer_used + uVar4;\n        if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }\n      }" { (expression_statement "urh->in_buffer_used = urh->in_buffer_used + uVar4;" (assignment_expression "urh->in_buffer_used = urh->in_buffer_used + uVar4" (field_expression "urh->in_buffer_used" identifier -> field_identifier) = (binary_expression "urh->in_buffer_used + uVar4" (field_expression "urh->in_buffer_used" identifier -> field_identifier) + identifier)) ;) (if_statement "if (uVar4 < uVar9) {\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }" if (parenthesized_expression "(uVar4 < uVar9)" ( (binary_expression "uVar4 < uVar9" identifier < identifier) )) (compound_statement "{\n          (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }" { (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) }) (else_clause "else {\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }" else (compound_statement "{\n          iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);\n          if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }\n        }" { (expression_statement "iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);" (assignment_expression "iVar5 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session)" identifier = (call_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session)" (parenthesized_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)" ( (pointer_expression "*(code *)PTR_gnutls_record_check_pending_000411ec" * (cast_expression "(code *)PTR_gnutls_record_check_pending_000411ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar8->tls_session)" ( (field_expression "pMVar8->tls_session" identifier -> field_identifier) )))) ;) (if_statement "if (iVar5 != 0) {\n            pMVar8->tls_read_ready = true;\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            pMVar8->tls_read_ready = true;\n          }" { (expression_statement "pMVar8->tls_read_ready = true;" (assignment_expression "pMVar8->tls_read_ready = true" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) = true) ;) })) }))) }))) (if_statement "if (((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR) {\n        urh->in_buffer_size = 0;\n      }" if (parenthesized_expression "(((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR)" ( (binary_expression "((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)) ==\n          MHD_EPOLL_STATE_ERROR" (parenthesized_expression "((urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY))" ( (binary_expression "(urh->app).celi & (MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (parenthesized_expression "(MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY)" ( (binary_expression "MHD_EPOLL_STATE_ERROR|MHD_EPOLL_STATE_READ_READY" identifier | identifier) ))) )) == identifier) )) (compound_statement "{\n        urh->in_buffer_size = 0;\n      }" { (expression_statement "urh->in_buffer_size = 0;" (assignment_expression "urh->in_buffer_size = 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) = number_literal) ;) })) })) }))) (if_statement "if (((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) {\n    uVar9 = urh->out_buffer_used;\n    uVar4 = urh->out_buffer_size - uVar9;\n    if (uVar9 < urh->out_buffer_size) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }\n  }" if (parenthesized_expression "(((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->mhd).celi & MHD_EPOLL_STATE_READ_READY)" ( (binary_expression "(urh->mhd).celi & MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & identifier) )) != identifier) )) (compound_statement "{\n    uVar9 = urh->out_buffer_used;\n    uVar4 = urh->out_buffer_size - uVar9;\n    if (uVar9 < urh->out_buffer_size) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }\n  }" { (expression_statement "uVar9 = urh->out_buffer_used;" (assignment_expression "uVar9 = urh->out_buffer_used" identifier = (field_expression "urh->out_buffer_used" identifier -> field_identifier)) ;) (expression_statement "uVar4 = urh->out_buffer_size - uVar9;" (assignment_expression "uVar4 = urh->out_buffer_size - uVar9" identifier = (binary_expression "urh->out_buffer_size - uVar9" (field_expression "urh->out_buffer_size" identifier -> field_identifier) - identifier)) ;) (if_statement "if (uVar9 < urh->out_buffer_size) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }" if (parenthesized_expression "(uVar9 < urh->out_buffer_size)" ( (binary_expression "uVar9 < urh->out_buffer_size" identifier < (field_expression "urh->out_buffer_size" identifier -> field_identifier)) )) (compound_statement "{\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);\n      if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }\n    }" { (if_statement "if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }" if (parenthesized_expression "((int)uVar4 < 0)" ( (binary_expression "(int)uVar4 < 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar4 = 0x7fffffff;\n      }" { (expression_statement "uVar4 = 0x7fffffff;" (assignment_expression "uVar4 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0);" (assignment_expression "uVar9 = (*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0)" identifier = (call_expression "(*(code *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0)" (parenthesized_expression "(*(code *)PTR_recv_00041164)" ( (pointer_expression "*(code *)PTR_recv_00041164" * (cast_expression "(code *)PTR_recv_00041164" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((urh->mhd).socket,urh->out_buffer + uVar9,uVar4,0)" ( (field_expression "(urh->mhd).socket" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) , (binary_expression "urh->out_buffer + uVar9" (field_expression "urh->out_buffer" identifier -> field_identifier) + identifier) , identifier , number_literal )))) ;) (if_statement "if ((int)uVar9 < 1) {\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }\n      else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }" if (parenthesized_expression "((int)uVar9 < 1)" ( (binary_expression "(int)uVar9 < 1" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }\n        urh->out_buffer_size = 0;\nLAB_000196d4:\n        MVar3 = (urh->mhd).celi;\n      }" { (if_statement "if (uVar9 == 0) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }\n        else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n        }" { (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) }) (else_clause "else {\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }" else (compound_statement "{\n          puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar9 = *puVar6;\n          if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;\n          MVar3 = (urh->mhd).celi;\n          (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;\n          if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }\n        }" { (expression_statement "puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)()" identifier = (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" ( (pointer_expression "*(code *)PTR___errno_location_00041208" * (cast_expression "(code *)PTR___errno_location_00041208" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar9 = *puVar6;" (assignment_expression "uVar9 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (if_statement "if ((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))\n          goto LAB_000197c0;" if (parenthesized_expression "((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))" ( (binary_expression "(((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)" (parenthesized_expression "(((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2))" ( (binary_expression "((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)" (parenthesized_expression "((uVar9 & 0xfffffff7) == 4)" ( (binary_expression "(uVar9 & 0xfffffff7) == 4" (parenthesized_expression "(uVar9 & 0xfffffff7)" ( (binary_expression "uVar9 & 0xfffffff7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar9 - 0x17 < 2)" ( (binary_expression "uVar9 - 0x17 < 2" (binary_expression "uVar9 - 0x17" identifier - number_literal) < number_literal) ))) )) || (parenthesized_expression "(uVar9 == 0x84)" ( (binary_expression "uVar9 == 0x84" identifier == number_literal) ))) )) (goto_statement "goto LAB_000197c0;" goto statement_identifier ;)) (expression_statement "MVar3 = (urh->mhd).celi;" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "(urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "MVar3 & ~MHD_EPOLL_STATE_READ_READY" identifier & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) (if_statement "if (((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)) {\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }" if (parenthesized_expression "(((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb))" ( (binary_expression "((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)) &&\n             (uVar9 == 0xb)" (parenthesized_expression "((_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))" ( (binary_expression "(_Var1 == false) && ((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" (parenthesized_expression "(_Var1 == false)" ( (binary_expression "_Var1 == false" identifier == false) )) && (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) == identifier) ))) )) && (parenthesized_expression "(uVar9 == 0xb)" ( (binary_expression "uVar9 == 0xb" identifier == number_literal) ))) )) (compound_statement "{\n            MVar3 = (urh->mhd).celi;\n            goto LAB_000196dc;\n          }" { (expression_statement "MVar3 = (urh->mhd).celi;" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;) (goto_statement "goto LAB_000196dc;" goto statement_identifier ;) })) }))) (expression_statement "urh->out_buffer_size = 0;" (assignment_expression "urh->out_buffer_size = 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) = number_literal) ;) (labeled_statement "LAB_000196d4:\n        MVar3 = (urh->mhd).celi;" statement_identifier : (expression_statement "MVar3 = (urh->mhd).celi;" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;)) }) (else_clause "else {\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }" else (compound_statement "{\n        urh->out_buffer_used = urh->out_buffer_used + uVar9;\n        if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        MVar3 = (urh->mhd).celi;\n        if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;\n      }" { (expression_statement "urh->out_buffer_used = urh->out_buffer_used + uVar9;" (assignment_expression "urh->out_buffer_used = urh->out_buffer_used + uVar9" (field_expression "urh->out_buffer_used" identifier -> field_identifier) = (binary_expression "urh->out_buffer_used + uVar9" (field_expression "urh->out_buffer_used" identifier -> field_identifier) + identifier)) ;) (if_statement "if (uVar9 < uVar4) {\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }" if (parenthesized_expression "(uVar9 < uVar4)" ( (binary_expression "uVar9 < uVar4" identifier < identifier) )) (compound_statement "{\n          (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n          goto LAB_000196d4;\n        }" { (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) (goto_statement "goto LAB_000196d4;" goto statement_identifier ;) })) (labeled_statement "LAB_000197c0:\n        MVar3 = (urh->mhd).celi;" statement_identifier : (expression_statement "MVar3 = (urh->mhd).celi;" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) ;)) (if_statement "if ((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY) goto LAB_000197d0;" if (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_READ_READY) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_READ_READY)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_READ_READY" identifier & identifier) )) != identifier) )) (goto_statement "goto LAB_000197d0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000196dc:\n      if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }" statement_identifier : (if_statement "if (((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)) {\n        urh->out_buffer_size = 0;\n      }" if (parenthesized_expression "(((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false))" ( (binary_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) || (_Var1 != false)" (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) != identifier) )) || (parenthesized_expression "(_Var1 != false)" ( (binary_expression "_Var1 != false" identifier != false) ))) )) (compound_statement "{\n        urh->out_buffer_size = 0;\n      }" { (expression_statement "urh->out_buffer_size = 0;" (assignment_expression "urh->out_buffer_size = 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) = number_literal) ;) }))) })) })) (labeled_statement "LAB_000197d0:\n  if ((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0)) {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }\n    MVar3 = (urh->app).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n  }" statement_identifier : (if_statement "if ((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0)) {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }\n    MVar3 = (urh->app).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n  }" if (parenthesized_expression "((((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0))" ( (binary_expression "(((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY) &&\n     (uVar9 = urh->out_buffer_used, uVar9 != 0)" (parenthesized_expression "(((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->app).celi & MHD_EPOLL_STATE_WRITE_READY)" ( (binary_expression "(urh->app).celi & MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & identifier) )) != identifier) )) && (parenthesized_expression "(uVar9 = urh->out_buffer_used, uVar9 != 0)" ( (comma_expression "uVar9 = urh->out_buffer_used, uVar9 != 0" (assignment_expression "uVar9 = urh->out_buffer_used" identifier = (field_expression "urh->out_buffer_used" identifier -> field_identifier)) , (binary_expression "uVar9 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }\n    MVar3 = (urh->app).celi;\n    if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n  }" { (if_statement "if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }" if (parenthesized_expression "((int)uVar9 < 0)" ( (binary_expression "(int)uVar9 < 0" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar9 = 0x7fffffff;\n    }" { (expression_statement "uVar9 = 0x7fffffff;" (assignment_expression "uVar9 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9)" identifier = (call_expression "(*(code *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,uVar9)" (parenthesized_expression "(*(code *)PTR_gnutls_record_send_00041160)" ( (pointer_expression "*(code *)PTR_gnutls_record_send_00041160" * (cast_expression "(code *)PTR_gnutls_record_send_00041160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pMVar8->tls_session,urh->out_buffer,uVar9)" ( (field_expression "pMVar8->tls_session" identifier -> field_identifier) , (field_expression "urh->out_buffer" identifier -> field_identifier) , identifier )))) ;) (if_statement "if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }\n    else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );\n      urh->out_buffer_used = 0;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }" { (if_statement "if (uVar4 == 0xffffffcc) goto LAB_0001982c;" if (parenthesized_expression "(uVar4 == 0xffffffcc)" ( (binary_expression "uVar4 == 0xffffffcc" identifier == number_literal) )) (goto_statement "goto LAB_0001982c;" goto statement_identifier ;)) (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;) (expression_statement "uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);" (assignment_expression "uVar7 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" identifier = (call_expression "(*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" (parenthesized_expression "(*(code *)PTR_gnutls_strerror_000411b8)" ( (pointer_expression "*(code *)PTR_gnutls_strerror_000411b8" * (cast_expression "(code *)PTR_gnutls_strerror_000411b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              );" (call_expression "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              )" identifier (argument_list "(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,urh->out_buffer_used,uVar7\n              )" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c" identifier > (binary_expression "__d_0004105c + -0x170c" identifier + number_literal)) , number_literal , (field_expression "urh->out_buffer_used" identifier -> field_identifier) , identifier ))) ;) (expression_statement "urh->out_buffer_used = 0;" (assignment_expression "urh->out_buffer_used = 0" (field_expression "urh->out_buffer_used" identifier -> field_identifier) = number_literal) ;) (expression_statement "urh->out_buffer_size = 0;" (assignment_expression "urh->out_buffer_size = 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) }) (else_clause "else {\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }" else (compound_statement "{\n      sVar2 = urh->out_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }\n      urh->out_buffer_used = sVar2;\nLAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;\n    }" { (expression_statement "sVar2 = urh->out_buffer_used - uVar4;" (assignment_expression "sVar2 = urh->out_buffer_used - uVar4" identifier = (binary_expression "urh->out_buffer_used - uVar4" (field_expression "urh->out_buffer_used" identifier -> field_identifier) - identifier)) ;) (if_statement "if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }" if (parenthesized_expression "((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9))" ( (binary_expression "(sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)" (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9)" ( (comma_expression "(*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2),\n         uVar4 < uVar9" (call_expression "(*(code *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + uVar4,sVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" ( (pointer_expression "*(code *)PTR_memmove_00041300" * (cast_expression "(code *)PTR_memmove_00041300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(urh->out_buffer,urh->out_buffer + uVar4,sVar2)" ( (field_expression "urh->out_buffer" identifier -> field_identifier) , (binary_expression "urh->out_buffer + uVar4" (field_expression "urh->out_buffer" identifier -> field_identifier) + identifier) , identifier ))) , (binary_expression "uVar4 < uVar9" identifier < identifier)) ))) )) (compound_statement "{\n        (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n        FUN_00019828();\n        return;\n      }" { (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;) (expression_statement "FUN_00019828();" (call_expression "FUN_00019828()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "urh->out_buffer_used = sVar2;" (assignment_expression "urh->out_buffer_used = sVar2" (field_expression "urh->out_buffer_used" identifier -> field_identifier) = identifier) ;) (labeled_statement "LAB_0001982c:\n      if (urh->out_buffer_used != 0) goto LAB_00019838;" statement_identifier : (if_statement "if (urh->out_buffer_used != 0) goto LAB_00019838;" 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) )) (goto_statement "goto LAB_00019838;" goto statement_identifier ;))) }))) (expression_statement "MVar3 = (urh->app).celi;" (assignment_expression "MVar3 = (urh->app).celi" identifier = (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY) {\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }" if (parenthesized_expression "((MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) != identifier) )) (compound_statement "{\n      (urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->out_buffer_size = 0;\n      (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;\n    }" { (expression_statement "(urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->app).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "MVar3 & ~MHD_EPOLL_STATE_WRITE_READY" identifier & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;) (expression_statement "urh->out_buffer_size = 0;" (assignment_expression "urh->out_buffer_size = 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) })) }))) (labeled_statement "LAB_00019838:\n  if ((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0)) {\nLAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }\n  }\n  else {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }" statement_identifier : (if_statement "if ((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0)) {\nLAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }\n  }\n  else {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }" if (parenthesized_expression "((((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0))" ( (binary_expression "(((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY) ||\n     (uVar9 = urh->in_buffer_used, uVar9 == 0)" (parenthesized_expression "(((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY)" ( (binary_expression "((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "((urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY)" ( (binary_expression "(urh->mhd).celi & MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & identifier) )) == identifier) )) || (parenthesized_expression "(uVar9 = urh->in_buffer_used, uVar9 == 0)" ( (comma_expression "uVar9 = urh->in_buffer_used, uVar9 == 0" (assignment_expression "uVar9 = urh->in_buffer_used" identifier = (field_expression "urh->in_buffer_used" identifier -> field_identifier)) , (binary_expression "uVar9 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }\n  }" { (labeled_statement "LAB_00019ac0:\n    if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }" statement_identifier : (if_statement "if ((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))) {\n      daemon->data_already_pending = true;\n    }" if (parenthesized_expression "((pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG))))" ( (binary_expression "(pMVar8->tls_read_ready != false) &&\n       ((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))" (parenthesized_expression "(pMVar8->tls_read_ready != false)" ( (binary_expression "pMVar8->tls_read_ready != false" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) != false) )) && (parenthesized_expression "((urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)))" ( (parenthesized_expression "(urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG))" ( (binary_expression "urh->in_buffer_used < urh->in_buffer_size &&\n        ((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" (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)) && (parenthesized_expression "((daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG)" ( (binary_expression "(daemon->options & MHD_USE_THREAD_PER_CONNECTION) == MHD_NO_FLAG" (parenthesized_expression "(daemon->options & MHD_USE_THREAD_PER_CONNECTION)" ( (binary_expression "daemon->options & MHD_USE_THREAD_PER_CONNECTION" (field_expression "daemon->options" identifier -> field_identifier) & identifier) )) == identifier) ))) )) ))) )) (compound_statement "{\n      daemon->data_already_pending = true;\n    }" { (expression_statement "daemon->data_already_pending = true;" (assignment_expression "daemon->data_already_pending = true" (field_expression "daemon->data_already_pending" identifier -> field_identifier) = true) ;) }))) }) (else_clause "else {\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }" else (compound_statement "{\n    if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }\n  }" { (if_statement "if ((int)uVar9 < 0) {\n      uVar9 = 0x7fffffff;\n    }" if (parenthesized_expression "((int)uVar9 < 0)" ( (binary_expression "(int)uVar9 < 0" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar9 = 0x7fffffff;\n    }" { (expression_statement "uVar9 = 0x7fffffff;" (assignment_expression "uVar9 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000);" (assignment_expression "uVar4 = (*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000)" identifier = (call_expression "(*(code *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,uVar9,0x4000)" (parenthesized_expression "(*(code *)PTR_send_0004114c)" ( (pointer_expression "*(code *)PTR_send_0004114c" * (cast_expression "(code *)PTR_send_0004114c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((urh->mhd).socket,urh->in_buffer,uVar9,0x4000)" ( (field_expression "(urh->mhd).socket" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) , (field_expression "urh->in_buffer" identifier -> field_identifier) , identifier , number_literal )))) ;) (if_statement "if ((int)uVar4 < 1) {\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }\n    else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar9 = *puVar6;\n      if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;\n      sVar2 = urh->in_buffer_used;\n      uVar7 = (*(code *)PTR_strerror_00041258)();\n      MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);\n      urh->in_buffer_used = 0;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n      if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;\n    }" { (expression_statement "puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar6 = (uint *)(*(code *)PTR___errno_location_00041208)()" identifier = (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" ( (pointer_expression "*(code *)PTR___errno_location_00041208" * (cast_expression "(code *)PTR___errno_location_00041208" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar9 = *puVar6;" (assignment_expression "uVar9 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (if_statement "if (((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))\n      goto LAB_00019898;" if (parenthesized_expression "(((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb))" ( (binary_expression "((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)) ||\n         ((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb)" (parenthesized_expression "((((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84))" ( (binary_expression "(((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)) || (uVar9 == 0x84)" (parenthesized_expression "(((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2))" ( (binary_expression "((uVar9 & 0xfffffff7) == 4) || (uVar9 - 0x17 < 2)" (parenthesized_expression "((uVar9 & 0xfffffff7) == 4)" ( (binary_expression "(uVar9 & 0xfffffff7) == 4" (parenthesized_expression "(uVar9 & 0xfffffff7)" ( (binary_expression "uVar9 & 0xfffffff7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar9 - 0x17 < 2)" ( (binary_expression "uVar9 - 0x17 < 2" (binary_expression "uVar9 - 0x17" identifier - number_literal) < number_literal) ))) )) || (parenthesized_expression "(uVar9 == 0x84)" ( (binary_expression "uVar9 == 0x84" identifier == number_literal) ))) )) || (parenthesized_expression "((urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb)" ( (comma_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY, uVar9 == 0xb" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) , (binary_expression "uVar9 == 0xb" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00019898;" goto statement_identifier ;)) (expression_statement "sVar2 = urh->in_buffer_used;" (assignment_expression "sVar2 = urh->in_buffer_used" identifier = (field_expression "urh->in_buffer_used" identifier -> field_identifier)) ;) (expression_statement "uVar7 = (*(code *)PTR_strerror_00041258)();" (assignment_expression "uVar7 = (*(code *)PTR_strerror_00041258)()" identifier = (call_expression "(*(code *)PTR_strerror_00041258)()" (parenthesized_expression "(*(code *)PTR_strerror_00041258)" ( (pointer_expression "*(code *)PTR_strerror_00041258" * (cast_expression "(code *)PTR_strerror_00041258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7);" (call_expression "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7)" identifier (argument_list "(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,sVar2,uVar7)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4" identifier > (binary_expression "__d_0004105c + -0x16b4" identifier + number_literal)) , number_literal , identifier , identifier ))) ;) (expression_statement "urh->in_buffer_used = 0;" (assignment_expression "urh->in_buffer_used = 0" (field_expression "urh->in_buffer_used" identifier -> field_identifier) = number_literal) ;) (expression_statement "urh->in_buffer_size = 0;" (assignment_expression "urh->in_buffer_size = 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) (expression_statement "pMVar8->tls_read_ready = false;" (assignment_expression "pMVar8->tls_read_ready = false" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) = false) ;) (if_statement "if ((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))\n      goto LAB_000198b8;" if (parenthesized_expression "((urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY))" ( (binary_expression "(urh->in_buffer_used == 0) &&\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" (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 "(MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY)" ( (comma_expression "MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) != MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) != identifier)) ))) )) (goto_statement "goto LAB_000198b8;" goto statement_identifier ;)) }) (else_clause "else {\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }" else (compound_statement "{\n      sVar2 = urh->in_buffer_used - uVar4;\n      if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }\n      urh->in_buffer_used = sVar2;\nLAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;\nLAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;\n      urh->in_buffer_size = 0;\n      (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;\n      pMVar8->tls_read_ready = false;\n    }" { (expression_statement "sVar2 = urh->in_buffer_used - uVar4;" (assignment_expression "sVar2 = urh->in_buffer_used - uVar4" identifier = (binary_expression "urh->in_buffer_used - uVar4" (field_expression "urh->in_buffer_used" identifier -> field_identifier) - identifier)) ;) (if_statement "if ((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)) {\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }" if (parenthesized_expression "((sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9))" ( (binary_expression "(sVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)" (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9)" ( (comma_expression "(*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2),\n         uVar4 < uVar9" (call_expression "(*(code *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + uVar4,sVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" ( (pointer_expression "*(code *)PTR_memmove_00041300" * (cast_expression "(code *)PTR_memmove_00041300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(urh->in_buffer,urh->in_buffer + uVar4,sVar2)" ( (field_expression "urh->in_buffer" identifier -> field_identifier) , (binary_expression "urh->in_buffer + uVar4" (field_expression "urh->in_buffer" identifier -> field_identifier) + identifier) , identifier ))) , (binary_expression "uVar4 < uVar9" identifier < identifier)) ))) )) (compound_statement "{\n        (urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;\n      }" { (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;) })) (expression_statement "urh->in_buffer_used = sVar2;" (assignment_expression "urh->in_buffer_used = sVar2" (field_expression "urh->in_buffer_used" identifier -> field_identifier) = identifier) ;) (labeled_statement "LAB_00019898:\n      if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;" statement_identifier : (if_statement "if ((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))\n      goto LAB_00019ac0;" if (parenthesized_expression "((urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY))" ( (binary_expression "(urh->in_buffer_used != 0) ||\n         (MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" (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 "(MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY)" ( (comma_expression "MVar3 = (urh->mhd).celi, (MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (assignment_expression "MVar3 = (urh->mhd).celi" identifier = (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(MVar3 & MHD_EPOLL_STATE_ERROR) == MHD_EPOLL_STATE_UNREADY" (parenthesized_expression "(MVar3 & MHD_EPOLL_STATE_ERROR)" ( (binary_expression "MVar3 & MHD_EPOLL_STATE_ERROR" identifier & identifier) )) == identifier)) ))) )) (goto_statement "goto LAB_00019ac0;" goto statement_identifier ;))) (labeled_statement "LAB_000198b8:\n      (urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;" statement_identifier : (expression_statement "(urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->mhd).celi = MVar3 & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "MVar3 & ~MHD_EPOLL_STATE_WRITE_READY" identifier & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;)) (expression_statement "urh->in_buffer_size = 0;" (assignment_expression "urh->in_buffer_size = 0" (field_expression "urh->in_buffer_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) (expression_statement "pMVar8->tls_read_ready = false;" (assignment_expression "pMVar8->tls_read_ready = false" (field_expression "pMVar8->tls_read_ready" identifier -> field_identifier) = false) ;) }))) })))) (if_statement "if (daemon->shutdown == false) {\n    return;\n  }" if (parenthesized_expression "(daemon->shutdown == false)" ( (binary_expression "daemon->shutdown == false" (field_expression "daemon->shutdown" identifier -> field_identifier) == false) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (urh->out_buffer_size == 0) {\n    if (urh->out_buffer_used == 0) {\n      return;\n    }\n  }\n  else if (urh->out_buffer_used == 0) {\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\n  }" if (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) )) (compound_statement "{\n    if (urh->out_buffer_used == 0) {\n      return;\n    }\n  }" { (if_statement "if (urh->out_buffer_used == 0) {\n      return;\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 "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else if (urh->out_buffer_used == 0) {\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\n  }" else (if_statement "if (urh->out_buffer_used == 0) {\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\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 "{\n    urh->out_buffer_used = 0;\n    goto LAB_00019b54;\n  }" { (expression_statement "urh->out_buffer_used = 0;" (assignment_expression "urh->out_buffer_used = 0" (field_expression "urh->out_buffer_used" identifier -> field_identifier) = number_literal) ;) (goto_statement "goto LAB_00019b54;" goto statement_identifier ;) })))) (expression_statement "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);" (call_expression "MHD_DLOG(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" identifier (argument_list "(daemon,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660" identifier > (binary_expression "__d_0004105c + -0x1660" identifier + number_literal)) , number_literal ))) ;) (expression_statement "urh->out_buffer_used = 0;" (assignment_expression "urh->out_buffer_used = 0" (field_expression "urh->out_buffer_used" identifier -> field_identifier) = number_literal) ;) (labeled_statement "LAB_00019b54:\n  (urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;" statement_identifier : (expression_statement "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY;" (assignment_expression "(urh->app).celi = (urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->app).celi & ~MHD_EPOLL_STATE_WRITE_READY" (field_expression "(urh->app).celi" (parenthesized_expression "(urh->app)" ( (field_expression "urh->app" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_WRITE_READY" ~ identifier))) ;)) (expression_statement "urh->out_buffer_size = 0;" (assignment_expression "urh->out_buffer_size = 0" (field_expression "urh->out_buffer_size" identifier -> field_identifier) = number_literal) ;) (expression_statement "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY;" (assignment_expression "(urh->mhd).celi = (urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(urh->mhd).celi & ~MHD_EPOLL_STATE_READ_READY" (field_expression "(urh->mhd).celi" (parenthesized_expression "(urh->mhd)" ( (field_expression "urh->mhd" identifier -> field_identifier) )) . field_identifier) & (unary_expression "~MHD_EPOLL_STATE_READ_READY" ~ identifier))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00019470(int *param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}\n\n" (function_definition "void FUN_00019470(int *param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}" primitive_type (function_declarator "FUN_00019470(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (expression_statement "iVar7 = *param_1;" (assignment_expression "iVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar8 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x18)" identifier = (pointer_expression "*(int *)(iVar7 + 0x18)" * (cast_expression "(int *)(iVar7 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }" if (parenthesized_expression "(*(char *)(iVar8 + 0xe0) != '\0')" ( (binary_expression "*(char *)(iVar8 + 0xe0) != '\0'" (pointer_expression "*(char *)(iVar8 + 0xe0)" * (cast_expression "(char *)(iVar8 + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xe0)" ( (binary_expression "iVar8 + 0xe0" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }" { (if_statement "if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" if (parenthesized_expression "(*(char *)(param_1 + 0x14) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x14) == '\0'" (pointer_expression "*(char *)(param_1 + 0x14)" * (cast_expression "(char *)(param_1 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" { (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4" identifier > (binary_expression "__d_0004105c + -0x17c4" identifier + number_literal)) ))) ;) })) (expression_statement "*(undefined1 *)(param_1 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x14)" * (cast_expression "(undefined1 *)(param_1 + 0x14)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "cVar1 = *(char *)(param_1 + 0x14);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x14)" identifier = (pointer_expression "*(char *)(param_1 + 0x14)" * (cast_expression "(char *)(param_1 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }" if (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }" { (if_statement "if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" if (parenthesized_expression "(param_1[10] == 0)" ( (binary_expression "param_1[10] == 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar2 = param_1[9];\n    }" { (expression_statement "iVar2 = param_1[9];" (assignment_expression "iVar2 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }) (else_clause "else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" else (compound_statement "{\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" { (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c" identifier > (binary_expression "__d_0004105c + -0x177c" identifier + number_literal)) , number_literal ))) ;) (expression_statement "iVar2 = param_1[9];" (assignment_expression "iVar2 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) }))) (if_statement "if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      param_1[0x11] = param_1[0x11] | 1;\n    }" { (expression_statement "param_1[0x11] = param_1[0x11] | 1;" (assignment_expression "param_1[0x11] = param_1[0x11] | 1" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] | 1" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) | number_literal)) ;) })) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffd;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) })) (if_statement "if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" if (parenthesized_expression "((param_1[0xe] & 0x80U) == 0)" ( (binary_expression "(param_1[0xe] & 0x80U) == 0" (parenthesized_expression "(param_1[0xe] & 0x80U)" ( (binary_expression "param_1[0xe] & 0x80U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }" { (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 & 0x80) != 0) goto LAB_00019638;" if (parenthesized_expression "((uVar3 & 0x80) != 0)" ( (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00019638;" goto statement_identifier ;)) (labeled_statement "LAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;" statement_identifier : (if_statement "if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;" if (parenthesized_expression "(((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0'))" ( (binary_expression "((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')" (parenthesized_expression "((param_1[0xe] & 1U) != 0)" ( (binary_expression "(param_1[0xe] & 1U) != 0" (parenthesized_expression "(param_1[0xe] & 1U)" ( (binary_expression "param_1[0xe] & 1U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) || (parenthesized_expression "(*(char *)(iVar7 + 0xf4) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0xf4) != '\0'" (pointer_expression "*(char *)(iVar7 + 0xf4)" * (cast_expression "(char *)(iVar7 + 0xf4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_00019558;" goto statement_identifier ;))) }) (else_clause "else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" else (compound_statement "{\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" { (expression_statement "param_1[0xe] = param_1[0xe] | 1;" (assignment_expression "param_1[0xe] = param_1[0xe] | 1" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] | 1" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (if_statement "if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }" if (parenthesized_expression "((uVar3 & 0x80) != 0)" ( (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }" { (labeled_statement "LAB_00019638:\n      param_1[0x11] = uVar3 | 1;" statement_identifier : (expression_statement "param_1[0x11] = uVar3 | 1;" (assignment_expression "param_1[0x11] = uVar3 | 1" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "uVar3 | 1" identifier | number_literal)) ;)) (goto_statement "goto LAB_0001963c;" goto statement_identifier ;) })) (labeled_statement "LAB_00019558:\n    uVar3 = param_1[8] - param_1[10];" statement_identifier : (expression_statement "uVar3 = param_1[8] - param_1[10];" (assignment_expression "uVar3 = param_1[8] - param_1[10]" identifier = (binary_expression "param_1[8] - param_1[10]" (subscript_expression "param_1[8]" identifier [ number_literal ]) - (subscript_expression "param_1[10]" identifier [ number_literal ]))) ;)) (if_statement "if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }" if (parenthesized_expression "((uint)param_1[10] < (uint)param_1[8])" ( (binary_expression "(uint)param_1[10] < (uint)param_1[8]" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ]))) )) (compound_statement "{\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }" { (if_statement "if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }" if (parenthesized_expression "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar3 = 0x7fffffff;\n      }" { (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" identifier = (call_expression "(*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" (parenthesized_expression "(*(code *)PTR_gnutls_record_recv_000412d0)" ( (pointer_expression "*(code *)PTR_gnutls_record_recv_000412d0" * (cast_expression "(code *)PTR_gnutls_record_recv_000412d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" * (cast_expression "(undefined4 *)(iVar7 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xe4)" ( (binary_expression "iVar7 + 0xe4" identifier + number_literal) )))) , (binary_expression "param_1[6] + param_1[10]" (subscript_expression "param_1[6]" identifier [ number_literal ]) + (subscript_expression "param_1[10]" identifier [ number_literal ])) , identifier )))) ;) (if_statement "if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }" { (if_statement "if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }" if (parenthesized_expression "((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           )" ( (binary_expression "(uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)" (parenthesized_expression "(uVar4 != 0xffffffcc)" ( (binary_expression "uVar4 != 0xffffffcc" identifier != number_literal) )) && (parenthesized_expression "(param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)" ( (comma_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) , (binary_expression "uVar4 != 0xffffffe4" identifier != number_literal)) ))) )) (compound_statement "{\n          param_1[8] = 0;\n        }" { (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" else (compound_statement "{\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" { (expression_statement "param_1[10] = param_1[10] + uVar4;" (assignment_expression "param_1[10] = param_1[10] + uVar4" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (binary_expression "param_1[10] + uVar4" (subscript_expression "param_1[10]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" if (parenthesized_expression "(uVar4 < uVar3)" ( (binary_expression "uVar4 < uVar3" identifier < identifier) )) (compound_statement "{\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }" { (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" else (compound_statement "{\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" { (expression_statement "iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;" (assignment_expression "iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))" identifier = (call_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))" (parenthesized_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)" ( (pointer_expression "*(code *)PTR_gnutls_record_check_pending_000411ec" * (cast_expression "(code *)PTR_gnutls_record_check_pending_000411ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0xe4))" ( (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" * (cast_expression "(undefined4 *)(iVar7 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xe4)" ( (binary_expression "iVar7 + 0xe4" identifier + number_literal) )))) )))) ;) (if_statement "if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }" { (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 1;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 1" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) })) }))) }))) (if_statement "if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }" if (parenthesized_expression "((param_1[0xe] & 0x81U) == 0x80)" ( (binary_expression "(param_1[0xe] & 0x81U) == 0x80" (parenthesized_expression "(param_1[0xe] & 0x81U)" ( (binary_expression "param_1[0xe] & 0x81U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n        param_1[8] = 0;\n      }" { (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) })) })) }))) (if_statement "if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }" if (parenthesized_expression "((param_1[0x11] & 1U) != 0)" ( (binary_expression "(param_1[0x11] & 1U) != 0" (parenthesized_expression "(param_1[0x11] & 1U)" ( (binary_expression "param_1[0x11] & 1U" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }" { (expression_statement "uVar3 = param_1[0xb];" (assignment_expression "uVar3 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = param_1[9] - uVar3;" (assignment_expression "uVar4 = param_1[9] - uVar3" identifier = (binary_expression "param_1[9] - uVar3" (subscript_expression "param_1[9]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }" if (parenthesized_expression "(uVar3 < (uint)param_1[9])" ( (binary_expression "uVar3 < (uint)param_1[9]" identifier < (cast_expression "(uint)param_1[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[9]" identifier [ number_literal ]))) )) (compound_statement "{\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }" { (if_statement "if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }" if (parenthesized_expression "((int)uVar4 < 0)" ( (binary_expression "(int)uVar4 < 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        uVar4 = 0x7fffffff;\n      }" { (expression_statement "uVar4 = 0x7fffffff;" (assignment_expression "uVar4 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);" (assignment_expression "uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0)" identifier = (call_expression "(*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0)" (parenthesized_expression "(*(code *)PTR_recv_00041164)" ( (pointer_expression "*(code *)PTR_recv_00041164" * (cast_expression "(code *)PTR_recv_00041164" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x10],param_1[7] + uVar3,uVar4,0)" ( (subscript_expression "param_1[0x10]" identifier [ number_literal ]) , (binary_expression "param_1[7] + uVar3" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) , identifier , number_literal )))) ;) (if_statement "if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" if (parenthesized_expression "((int)uVar3 < 1)" ( (binary_expression "(int)uVar3 < 1" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }" { (if_statement "if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }" { (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" else (compound_statement "{\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" { (expression_statement "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)()" identifier = (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" ( (pointer_expression "*(code *)PTR___errno_location_00041208" * (cast_expression "(code *)PTR___errno_location_00041208" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = *puVar5;" (assignment_expression "uVar3 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (if_statement "if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;" if (parenthesized_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))" ( (binary_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)" (parenthesized_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2))" ( (binary_expression "((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)" (parenthesized_expression "((uVar3 & 0xfffffff7) == 4)" ( (binary_expression "(uVar3 & 0xfffffff7) == 4" (parenthesized_expression "(uVar3 & 0xfffffff7)" ( (binary_expression "uVar3 & 0xfffffff7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar3 - 0x17 < 2)" ( (binary_expression "uVar3 - 0x17 < 2" (binary_expression "uVar3 - 0x17" identifier - number_literal) < number_literal) ))) )) || (parenthesized_expression "(uVar3 == 0x84)" ( (binary_expression "uVar3 == 0x84" identifier == number_literal) ))) )) (goto_statement "goto LAB_000197c0;" goto statement_identifier ;)) (expression_statement "uVar4 = param_1[0x11];" (assignment_expression "uVar4 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (expression_statement "param_1[0x11] = uVar4 & 0xfffffffe;" (assignment_expression "param_1[0x11] = uVar4 & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "uVar4 & 0xfffffffe" identifier & number_literal)) ;) (if_statement "if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }" if (parenthesized_expression "(((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb))" ( (binary_expression "((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)" (parenthesized_expression "((cVar1 == '\0') && ((uVar4 & 0x80) == 0))" ( (binary_expression "(cVar1 == '\0') && ((uVar4 & 0x80) == 0)" (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((uVar4 & 0x80) == 0)" ( (binary_expression "(uVar4 & 0x80) == 0" (parenthesized_expression "(uVar4 & 0x80)" ( (binary_expression "uVar4 & 0x80" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(uVar3 == 0xb)" ( (binary_expression "uVar3 == 0xb" identifier == number_literal) ))) )) (compound_statement "{\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }" { (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_000196dc;" goto statement_identifier ;) })) }))) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_000196d4:\n        uVar3 = param_1[0x11];" statement_identifier : (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;)) }) (else_clause "else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" else (compound_statement "{\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" { (expression_statement "param_1[0xb] = param_1[0xb] + uVar3;" (assignment_expression "param_1[0xb] = param_1[0xb] + uVar3" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = (binary_expression "param_1[0xb] + uVar3" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) + identifier)) ;) (if_statement "if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }" if (parenthesized_expression "(uVar3 < uVar4)" ( (binary_expression "uVar3 < uVar4" identifier < identifier) )) (compound_statement "{\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }" { (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) (goto_statement "goto LAB_000196d4;" goto statement_identifier ;) })) (labeled_statement "LAB_000197c0:\n        uVar3 = param_1[0x11];" statement_identifier : (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) ;)) (if_statement "if ((uVar3 & 1) != 0) goto LAB_000197d0;" if (parenthesized_expression "((uVar3 & 1) != 0)" ( (binary_expression "(uVar3 & 1) != 0" (parenthesized_expression "(uVar3 & 1)" ( (binary_expression "uVar3 & 1" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000197d0;" goto statement_identifier ;)) }))) (labeled_statement "LAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }" statement_identifier : (if_statement "if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }" if (parenthesized_expression "(((uVar3 & 0x80) != 0) || (cVar1 != '\0'))" ( (binary_expression "((uVar3 & 0x80) != 0) || (cVar1 != '\0')" (parenthesized_expression "((uVar3 & 0x80) != 0)" ( (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n        param_1[9] = 0;\n      }" { (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) }))) })) })) (labeled_statement "LAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" statement_identifier : (if_statement "if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" if (parenthesized_expression "(((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0))" ( (binary_expression "((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)" (parenthesized_expression "((param_1[0xe] & 2U) != 0)" ( (binary_expression "(param_1[0xe] & 2U) != 0" (parenthesized_expression "(param_1[0xe] & 2U)" ( (binary_expression "param_1[0xe] & 2U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar3 = param_1[0xb], uVar3 != 0)" ( (comma_expression "uVar3 = param_1[0xb], uVar3 != 0" (assignment_expression "uVar3 = param_1[0xb]" identifier = (subscript_expression "param_1[0xb]" identifier [ number_literal ])) , (binary_expression "uVar3 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" { (if_statement "if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }" if (parenthesized_expression "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar3 = 0x7fffffff;\n    }" { (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" identifier = (call_expression "(*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" (parenthesized_expression "(*(code *)PTR_gnutls_record_send_00041160)" ( (pointer_expression "*(code *)PTR_gnutls_record_send_00041160" * (cast_expression "(code *)PTR_gnutls_record_send_00041160" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" ( (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" * (cast_expression "(undefined4 *)(iVar7 + 0xe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xe4)" ( (binary_expression "iVar7 + 0xe4" identifier + number_literal) )))) , (subscript_expression "param_1[7]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" { (if_statement "if (uVar4 == 0xffffffcc) goto LAB_0001982c;" if (parenthesized_expression "(uVar4 == 0xffffffcc)" ( (binary_expression "uVar4 == 0xffffffcc" identifier == number_literal) )) (goto_statement "goto LAB_0001982c;" goto statement_identifier ;)) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);" (assignment_expression "uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" identifier = (call_expression "(*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" (parenthesized_expression "(*(code *)PTR_gnutls_strerror_000411b8)" ( (pointer_expression "*(code *)PTR_gnutls_strerror_000411b8" * (cast_expression "(code *)PTR_gnutls_strerror_000411b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar4)" ( identifier )))) ;) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c" identifier > (binary_expression "__d_0004105c + -0x170c" identifier + number_literal)) , number_literal , (subscript_expression "param_1[0xb]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) }) (else_clause "else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" else (compound_statement "{\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" { (expression_statement "iVar2 = param_1[0xb] - uVar4;" (assignment_expression "iVar2 = param_1[0xb] - uVar4" identifier = (binary_expression "param_1[0xb] - uVar4" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }" if (parenthesized_expression "((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3))" ( (binary_expression "(iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)" ( (comma_expression "(*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3" (call_expression "(*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" ( (pointer_expression "*(code *)PTR_memmove_00041300" * (cast_expression "(code *)PTR_memmove_00041300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[7],param_1[7] + uVar4,iVar2)" ( (subscript_expression "param_1[7]" identifier [ number_literal ]) , (binary_expression "param_1[7] + uVar4" (subscript_expression "param_1[7]" identifier [ number_literal ]) + identifier) , identifier ))) , (binary_expression "uVar4 < uVar3" identifier < identifier)) ))) )) (compound_statement "{\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }" { (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) })) (expression_statement "param_1[0xb] = iVar2;" (assignment_expression "param_1[0xb] = iVar2" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;" statement_identifier : (if_statement "if (param_1[0xb] != 0) goto LAB_00019838;" if (parenthesized_expression "(param_1[0xb] != 0)" ( (binary_expression "param_1[0xb] != 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_00019838;" goto statement_identifier ;))) }))) (if_statement "if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" if (parenthesized_expression "((param_1[0xe] & 0x80U) != 0)" ( (binary_expression "(param_1[0xe] & 0x80U) != 0" (parenthesized_expression "(param_1[0xe] & 0x80U)" ( (binary_expression "param_1[0xe] & 0x80U" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" { (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) })) }))) (labeled_statement "LAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" statement_identifier : (if_statement "if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" if (parenthesized_expression "(((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0))" ( (binary_expression "((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)" (parenthesized_expression "((param_1[0x11] & 2U) == 0)" ( (binary_expression "(param_1[0x11] & 2U) == 0" (parenthesized_expression "(param_1[0x11] & 2U)" ( (binary_expression "param_1[0x11] & 2U" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar3 = param_1[10], uVar3 == 0)" ( (comma_expression "uVar3 = param_1[10], uVar3 == 0" (assignment_expression "uVar3 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) , (binary_expression "uVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }" { (labeled_statement "LAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" statement_identifier : (if_statement "if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" if (parenthesized_expression "((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0))))" ( (binary_expression "(*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))" (parenthesized_expression "(*(char *)(iVar7 + 0xf4) != '\0')" ( (binary_expression "*(char *)(iVar7 + 0xf4) != '\0'" (pointer_expression "*(char *)(iVar7 + 0xf4)" * (cast_expression "(char *)(iVar7 + 0xf4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))" ( (parenthesized_expression "((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0))" ( (binary_expression "(uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)" (binary_expression "(uint)param_1[10] < (uint)param_1[8]" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[8]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[8]" identifier [ number_literal ]))) && (parenthesized_expression "((*(uint *)(iVar8 + 0xf8) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar8 + 0xf8) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar8 + 0xf8) & 4)" ( (binary_expression "*(uint *)(iVar8 + 0xf8) & 4" (pointer_expression "*(uint *)(iVar8 + 0xf8)" * (cast_expression "(uint *)(iVar8 + 0xf8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xf8)" ( (binary_expression "iVar8 + 0xf8" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" { (expression_statement "*(undefined1 *)(iVar8 + 0xe4) = 1;" (assignment_expression "*(undefined1 *)(iVar8 + 0xe4) = 1" (pointer_expression "*(undefined1 *)(iVar8 + 0xe4)" * (cast_expression "(undefined1 *)(iVar8 + 0xe4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xe4)" ( (binary_expression "iVar8 + 0xe4" identifier + number_literal) )))) = number_literal) ;) }))) }) (else_clause "else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" else (compound_statement "{\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" { (if_statement "if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }" if (parenthesized_expression "((int)uVar3 < 0)" ( (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      uVar3 = 0x7fffffff;\n    }" { (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" identifier = number_literal) ;) })) (expression_statement "uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);" (assignment_expression "uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000)" identifier = (call_expression "(*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000)" (parenthesized_expression "(*(code *)PTR_send_0004114c)" ( (pointer_expression "*(code *)PTR_send_0004114c" * (cast_expression "(code *)PTR_send_0004114c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[0x10],param_1[6],uVar3,0x4000)" ( (subscript_expression "param_1[0x10]" identifier [ number_literal ]) , (subscript_expression "param_1[6]" identifier [ number_literal ]) , identifier , number_literal )))) ;) (if_statement "if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" if (parenthesized_expression "((int)uVar4 < 1)" ( (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }" { (expression_statement "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)()" identifier = (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" ( (pointer_expression "*(code *)PTR___errno_location_00041208" * (cast_expression "(code *)PTR___errno_location_00041208" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar3 = *puVar5;" (assignment_expression "uVar3 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (if_statement "if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;" if (parenthesized_expression "(((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb))" ( (binary_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)" (parenthesized_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))" ( (binary_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)" (parenthesized_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2))" ( (binary_expression "((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)" (parenthesized_expression "((uVar3 & 0xfffffff7) == 4)" ( (binary_expression "(uVar3 & 0xfffffff7) == 4" (parenthesized_expression "(uVar3 & 0xfffffff7)" ( (binary_expression "uVar3 & 0xfffffff7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar3 - 0x17 < 2)" ( (binary_expression "uVar3 - 0x17 < 2" (binary_expression "uVar3 - 0x17" identifier - number_literal) < number_literal) ))) )) || (parenthesized_expression "(uVar3 == 0x84)" ( (binary_expression "uVar3 == 0x84" identifier == number_literal) ))) )) || (parenthesized_expression "(param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)" ( (comma_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) , (binary_expression "uVar3 == 0xb" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00019898;" goto statement_identifier ;)) (expression_statement "iVar2 = param_1[10];" (assignment_expression "iVar2 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (*(code *)PTR_strerror_00041258)();" (assignment_expression "uVar6 = (*(code *)PTR_strerror_00041258)()" identifier = (call_expression "(*(code *)PTR_strerror_00041258)()" (parenthesized_expression "(*(code *)PTR_strerror_00041258)" ( (pointer_expression "*(code *)PTR_strerror_00041258" * (cast_expression "(code *)PTR_strerror_00041258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4" identifier > (binary_expression "__d_0004105c + -0x16b4" identifier + number_literal)) , number_literal , identifier , identifier ))) ;) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;" if (parenthesized_expression "((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0))" ( (binary_expression "(param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)" (parenthesized_expression "(param_1[10] == 0)" ( (binary_expression "param_1[10] == 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)" ( (comma_expression "uVar3 = param_1[0x11], (uVar3 & 0x80) != 0" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) , (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) != number_literal)) ))) )) (goto_statement "goto LAB_000198b8;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" else (compound_statement "{\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" { (expression_statement "iVar2 = param_1[10] - uVar4;" (assignment_expression "iVar2 = param_1[10] - uVar4" identifier = (binary_expression "param_1[10] - uVar4" (subscript_expression "param_1[10]" identifier [ number_literal ]) - identifier)) ;) (if_statement "if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }" if (parenthesized_expression "((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3))" ( (binary_expression "(iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)" (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)" ( (comma_expression "(*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3" (call_expression "(*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" ( (pointer_expression "*(code *)PTR_memmove_00041300" * (cast_expression "(code *)PTR_memmove_00041300" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1[6],param_1[6] + uVar4,iVar2)" ( (subscript_expression "param_1[6]" identifier [ number_literal ]) , (binary_expression "param_1[6] + uVar4" (subscript_expression "param_1[6]" identifier [ number_literal ]) + identifier) , identifier ))) , (binary_expression "uVar4 < uVar3" identifier < identifier)) ))) )) (compound_statement "{\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }" { (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffd;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) })) (expression_statement "param_1[10] = iVar2;" (assignment_expression "param_1[10] = iVar2" (subscript_expression "param_1[10]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;" statement_identifier : (if_statement "if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;" if (parenthesized_expression "((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0))" ( (binary_expression "(param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)" (parenthesized_expression "(param_1[10] != 0)" ( (binary_expression "param_1[10] != 0" (subscript_expression "param_1[10]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)" ( (comma_expression "uVar3 = param_1[0x11], (uVar3 & 0x80) == 0" (assignment_expression "uVar3 = param_1[0x11]" identifier = (subscript_expression "param_1[0x11]" identifier [ number_literal ])) , (binary_expression "(uVar3 & 0x80) == 0" (parenthesized_expression "(uVar3 & 0x80)" ( (binary_expression "uVar3 & 0x80" identifier & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00019ac0;" goto statement_identifier ;))) (labeled_statement "LAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;" statement_identifier : (expression_statement "param_1[0x11] = uVar3 & 0xfffffffd;" (assignment_expression "param_1[0x11] = uVar3 & 0xfffffffd" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "uVar3 & 0xfffffffd" identifier & number_literal)) ;)) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" * (cast_expression "(undefined1 *)(iVar7 + 0xf4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xf4)" ( (binary_expression "iVar7 + 0xf4" identifier + number_literal) )))) = number_literal) ;) }))) })))) (if_statement "if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }" if (parenthesized_expression "(*(char *)(iVar8 + 0xe0) == '\0')" ( (binary_expression "*(char *)(iVar8 + 0xe0) == '\0'" (pointer_expression "*(char *)(iVar8 + 0xe0)" * (cast_expression "(char *)(iVar8 + 0xe0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xe0)" ( (binary_expression "iVar8 + 0xe0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" if (parenthesized_expression "(param_1[9] == 0)" ( (binary_expression "param_1[9] == 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }" { (if_statement "if (param_1[0xb] == 0) {\n      return;\n    }" if (parenthesized_expression "(param_1[0xb] == 0)" ( (binary_expression "param_1[0xb] == 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" else (if_statement "if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" if (parenthesized_expression "(param_1[0xb] == 0)" ( (binary_expression "param_1[0xb] == 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" { (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (goto_statement "goto LAB_00019b54;" goto statement_identifier ;) })))) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" identifier (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" ( identifier , (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660" identifier > (binary_expression "__d_0004105c + -0x1660" identifier + number_literal)) , number_literal ))) ;) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" identifier [ number_literal ]) = number_literal) ;) (labeled_statement "LAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;" statement_identifier : (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) = (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" identifier [ number_literal ]) & number_literal)) ;)) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) = (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" identifier [ number_literal ]) & number_literal)) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (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 ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT > (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 { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (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 (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT | LIT)) ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (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) ;) })) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT > (binary_expression IDENT + LIT)) , LIT , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) , IDENT ))) , (binary_expression IDENT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;))) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT == 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) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT > (binary_expression IDENT + LIT)) , LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) , IDENT ))) , (binary_expression IDENT < IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT & LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) })))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (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 ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT > (binary_expression IDENT + LIT)) , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (return_statement return ;) })))
(function_definition "void FUN_00019470(int *param_1)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00019470(int *param_1)" (identifier "FUN_00019470") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  uint uVar4;\n  uint *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *param_1;\n  iVar8 = *(int *)(iVar7 + 0x18);\n  if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }\n  cVar1 = *(char *)(param_1 + 0x14);\n  if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }\n  if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }\n  if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }\nLAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }\nLAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }\n  if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }\n  if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }\n  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);\n  param_1[0xb] = 0;\nLAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;\n  param_1[9] = 0;\n  param_1[0x11] = param_1[0x11] & 0xfffffffe;\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (expression_statement "iVar7 = *param_1;" (assignment_expression "iVar7 = *param_1" (identifier "iVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar7 + 0x18);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x18)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar7 + 0x18)" (* "*") (cast_expression "(int *)(iVar7 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar8 + 0xe0) != '\0') {\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar8 + 0xe0) != '\0')" (( "(") (binary_expression "*(char *)(iVar8 + 0xe0) != '\0'" (pointer_expression "*(char *)(iVar8 + 0xe0)" (* "*") (cast_expression "(char *)(iVar8 + 0xe0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xe0)" (( "(") (binary_expression "iVar8 + 0xe0" (identifier "iVar8") (+ "+") (number_literal "0xe0")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }\n    *(undefined1 *)(param_1 + 0x14) = 1;\n  }" ({ "{") (if_statement "if (*(char *)(param_1 + 0x14) == '\0') {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x14) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x14) == '\0'" (pointer_expression "*(char *)(param_1 + 0x14)" (* "*") (cast_expression "(char *)(param_1 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);\n    }" ({ "{") (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" (identifier "FUN_00022d40") (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4)" (( "(") (identifier "iVar8") (, ",") (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4" (identifier "PTR_s_than_FD_SETSIZE___d_") (> ">") (binary_expression "__d_0004105c + -0x17c4" (identifier "__d_0004105c") (+ "+") (number_literal "-0x17c4"))) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(param_1 + 0x14) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x14) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x14)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x14)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "cVar1 = *(char *)(param_1 + 0x14);" (assignment_expression "cVar1 = *(char *)(param_1 + 0x14)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(param_1 + 0x14)" (* "*") (cast_expression "(char *)(param_1 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (cVar1 != '\0') {\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }" (if "if") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }\n    if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }\n    param_1[10] = 0;\n    param_1[0x11] = param_1[0x11] & 0xfffffffd;\n    param_1[8] = 0;\n    param_1[0xe] = param_1[0xe] & 0xfffffffe;\n    *(undefined1 *)(iVar7 + 0xf4) = 0;\n  }" ({ "{") (if_statement "if (param_1[10] == 0) {\n      iVar2 = param_1[9];\n    }\n    else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" (if "if") (parenthesized_expression "(param_1[10] == 0)" (( "(") (binary_expression "param_1[10] == 0" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar2 = param_1[9];\n    }" ({ "{") (expression_statement "iVar2 = param_1[9];" (assignment_expression "iVar2 = param_1[9]" (identifier "iVar2") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" (else "else") (compound_statement "{\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);\n      iVar2 = param_1[9];\n    }" ({ "{") (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" (identifier "FUN_00022d40") (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0)" (( "(") (identifier "iVar8") (, ",") (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c" (identifier "PTR_s_than_FD_SETSIZE___d_") (> ">") (binary_expression "__d_0004105c + -0x177c" (identifier "__d_0004105c") (+ "+") (number_literal "-0x177c"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar2 = param_1[9];" (assignment_expression "iVar2 = param_1[9]" (identifier "iVar2") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (} "}")))) (if_statement "if (iVar2 != 0) {\n      param_1[0x11] = param_1[0x11] | 1;\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      param_1[0x11] = param_1[0x11] | 1;\n    }" ({ "{") (expression_statement "param_1[0x11] = param_1[0x11] | 1;" (assignment_expression "param_1[0x11] = param_1[0x11] | 1" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] | 1" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (| "|") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffd;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xf4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if ((param_1[0xe] & 0x80U) == 0) {\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }\n  else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((param_1[0xe] & 0x80U) == 0)" (( "(") (binary_expression "(param_1[0xe] & 0x80U) == 0" (parenthesized_expression "(param_1[0xe] & 0x80U)" (( "(") (binary_expression "param_1[0xe] & 0x80U" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0x80U")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) goto LAB_00019638;\nLAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;\n  }" ({ "{") (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (if_statement "if ((uVar3 & 0x80) != 0) goto LAB_00019638;" (if "if") (parenthesized_expression "((uVar3 & 0x80) != 0)" (( "(") (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" (( "(") (binary_expression "uVar3 & 0x80" (identifier "uVar3") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019638;" (goto "goto") (statement_identifier "LAB_00019638") (; ";"))) (labeled_statement "LAB_0001963c:\n    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;" (statement_identifier "LAB_0001963c") (: ":") (if_statement "if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;" (if "if") (parenthesized_expression "(((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0'))" (( "(") (binary_expression "((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')" (parenthesized_expression "((param_1[0xe] & 1U) != 0)" (( "(") (binary_expression "(param_1[0xe] & 1U) != 0" (parenthesized_expression "(param_1[0xe] & 1U)" (( "(") (binary_expression "param_1[0xe] & 1U" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "1U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(iVar7 + 0xf4) != '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0xf4) != '\0'" (pointer_expression "*(char *)(iVar7 + 0xf4)" (* "*") (cast_expression "(char *)(iVar7 + 0xf4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_00019558;" (goto "goto") (statement_identifier "LAB_00019558") (; ";")))) (} "}")) (else_clause "else {\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    param_1[0xe] = param_1[0xe] | 1;\n    uVar3 = param_1[0x11];\n    if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }\nLAB_00019558:\n    uVar3 = param_1[8] - param_1[10];\n    if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "param_1[0xe] = param_1[0xe] | 1;" (assignment_expression "param_1[0xe] = param_1[0xe] | 1" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] | 1" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (if_statement "if ((uVar3 & 0x80) != 0) {\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }" (if "if") (parenthesized_expression "((uVar3 & 0x80) != 0)" (( "(") (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" (( "(") (binary_expression "uVar3 & 0x80" (identifier "uVar3") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00019638:\n      param_1[0x11] = uVar3 | 1;\n      goto LAB_0001963c;\n    }" ({ "{") (labeled_statement "LAB_00019638:\n      param_1[0x11] = uVar3 | 1;" (statement_identifier "LAB_00019638") (: ":") (expression_statement "param_1[0x11] = uVar3 | 1;" (assignment_expression "param_1[0x11] = uVar3 | 1" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "uVar3 | 1" (identifier "uVar3") (| "|") (number_literal "1"))) (; ";"))) (goto_statement "goto LAB_0001963c;" (goto "goto") (statement_identifier "LAB_0001963c") (; ";")) (} "}"))) (labeled_statement "LAB_00019558:\n    uVar3 = param_1[8] - param_1[10];" (statement_identifier "LAB_00019558") (: ":") (expression_statement "uVar3 = param_1[8] - param_1[10];" (assignment_expression "uVar3 = param_1[8] - param_1[10]" (identifier "uVar3") (= "=") (binary_expression "param_1[8] - param_1[10]" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (- "-") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")))) (; ";"))) (if_statement "if ((uint)param_1[10] < (uint)param_1[8]) {\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }" (if "if") (parenthesized_expression "((uint)param_1[10] < (uint)param_1[8])" (( "(") (binary_expression "(uint)param_1[10] < (uint)param_1[8]" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (< "<") (cast_expression "(uint)param_1[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")))) () ")")) (compound_statement "{\n      if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);\n      if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }\n      if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }\n    }" ({ "{") (if_statement "if ((int)uVar3 < 0) {\n        uVar3 = 0x7fffffff;\n      }" (if "if") (parenthesized_expression "((int)uVar3 < 0)" (( "(") (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        uVar3 = 0x7fffffff;\n      }" ({ "{") (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" (identifier "uVar3") (= "=") (number_literal "0x7fffffff")) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xf4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_gnutls_record_recv_000412d0)\n                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" (parenthesized_expression "(*(code *)PTR_gnutls_record_recv_000412d0)" (( "(") (pointer_expression "*(code *)PTR_gnutls_record_recv_000412d0" (* "*") (cast_expression "(code *)PTR_gnutls_record_recv_000412d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gnutls_record_recv_000412d0"))) () ")")) (argument_list "(*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3)" (( "(") (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xe4)" (( "(") (binary_expression "iVar7 + 0xe4" (identifier "iVar7") (+ "+") (number_literal "0xe4")) () ")")))) (, ",") (binary_expression "param_1[6] + param_1[10]" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (+ "+") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (, ",") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if ((int)uVar4 < 1) {\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }\n      else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" (if "if") (parenthesized_expression "((int)uVar4 < 1)" (( "(") (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }\n      }" ({ "{") (if_statement "if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           ) {\n          param_1[8] = 0;\n        }" (if "if") (parenthesized_expression "((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)\n           )" (( "(") (binary_expression "(uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)" (parenthesized_expression "(uVar4 != 0xffffffcc)" (( "(") (binary_expression "uVar4 != 0xffffffcc" (identifier "uVar4") (!= "!=") (number_literal "0xffffffcc")) () ")")) (&& "&&") (parenthesized_expression "(param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)" (( "(") (comma_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffe"))) (, ",") (binary_expression "uVar4 != 0xffffffe4" (identifier "uVar4") (!= "!=") (number_literal "0xffffffe4"))) () ")"))) () ")")) (compound_statement "{\n          param_1[8] = 0;\n        }" ({ "{") (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        param_1[10] = param_1[10] + uVar4;\n        if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }\n      }" ({ "{") (expression_statement "param_1[10] = param_1[10] + uVar4;" (assignment_expression "param_1[10] = param_1[10] + uVar4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (binary_expression "param_1[10] + uVar4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (+ "+") (identifier "uVar4"))) (; ";")) (if_statement "if (uVar4 < uVar3) {\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }\n        else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" (if "if") (parenthesized_expression "(uVar4 < uVar3)" (( "(") (binary_expression "uVar4 < uVar3" (identifier "uVar4") (< "<") (identifier "uVar3")) () ")")) (compound_statement "{\n          param_1[0xe] = param_1[0xe] & 0xfffffffe;\n        }" ({ "{") (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (} "}")) (else_clause "else {\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" (else "else") (compound_statement "{\n          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;\n          if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }\n        }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))\n          ;" (assignment_expression "iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))" (parenthesized_expression "(*(code *)PTR_gnutls_record_check_pending_000411ec)" (( "(") (pointer_expression "*(code *)PTR_gnutls_record_check_pending_000411ec" (* "*") (cast_expression "(code *)PTR_gnutls_record_check_pending_000411ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gnutls_record_check_pending_000411ec"))) () ")")) (argument_list "(*(undefined4 *)(iVar7 + 0xe4))" (( "(") (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xe4)" (( "(") (binary_expression "iVar7 + 0xe4" (identifier "iVar7") (+ "+") (number_literal "0xe4")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined1 *)(iVar7 + 0xf4) = 1;\n          }" ({ "{") (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 1;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 1" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xf4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if ((param_1[0xe] & 0x81U) == 0x80) {\n        param_1[8] = 0;\n      }" (if "if") (parenthesized_expression "((param_1[0xe] & 0x81U) == 0x80)" (( "(") (binary_expression "(param_1[0xe] & 0x81U) == 0x80" (parenthesized_expression "(param_1[0xe] & 0x81U)" (( "(") (binary_expression "param_1[0xe] & 0x81U" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0x81U")) () ")")) (== "==") (number_literal "0x80")) () ")")) (compound_statement "{\n        param_1[8] = 0;\n      }" ({ "{") (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (if_statement "if ((param_1[0x11] & 1U) != 0) {\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "((param_1[0x11] & 1U) != 0)" (( "(") (binary_expression "(param_1[0x11] & 1U) != 0" (parenthesized_expression "(param_1[0x11] & 1U)" (( "(") (binary_expression "param_1[0x11] & 1U" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "1U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = param_1[0xb];\n    uVar4 = param_1[9] - uVar3;\n    if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "uVar3 = param_1[0xb];" (assignment_expression "uVar3 = param_1[0xb]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "uVar4 = param_1[9] - uVar3;" (assignment_expression "uVar4 = param_1[9] - uVar3" (identifier "uVar4") (= "=") (binary_expression "param_1[9] - uVar3" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (- "-") (identifier "uVar3"))) (; ";")) (if_statement "if (uVar3 < (uint)param_1[9]) {\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }" (if "if") (parenthesized_expression "(uVar3 < (uint)param_1[9])" (( "(") (binary_expression "uVar3 < (uint)param_1[9]" (identifier "uVar3") (< "<") (cast_expression "(uint)param_1[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")))) () ")")) (compound_statement "{\n      if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }\n      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);\n      if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }\nLAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }\n    }" ({ "{") (if_statement "if ((int)uVar4 < 0) {\n        uVar4 = 0x7fffffff;\n      }" (if "if") (parenthesized_expression "((int)uVar4 < 0)" (( "(") (binary_expression "(int)uVar4 < 0" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        uVar4 = 0x7fffffff;\n      }" ({ "{") (expression_statement "uVar4 = 0x7fffffff;" (assignment_expression "uVar4 = 0x7fffffff" (identifier "uVar4") (= "=") (number_literal "0x7fffffff")) (; ";")) (} "}"))) (expression_statement "uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);" (assignment_expression "uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0)" (identifier "uVar3") (= "=") (call_expression "(*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0)" (parenthesized_expression "(*(code *)PTR_recv_00041164)" (( "(") (pointer_expression "*(code *)PTR_recv_00041164" (* "*") (cast_expression "(code *)PTR_recv_00041164" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_recv_00041164"))) () ")")) (argument_list "(param_1[0x10],param_1[7] + uVar3,uVar4,0)" (( "(") (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")) (, ",") (binary_expression "param_1[7] + uVar3" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "uVar3")) (, ",") (identifier "uVar4") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((int)uVar3 < 1) {\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }\n      else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" (if "if") (parenthesized_expression "((int)uVar3 < 1)" (( "(") (binary_expression "(int)uVar3 < 1" (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }\n        param_1[9] = 0;\nLAB_000196d4:\n        uVar3 = param_1[0x11];\n      }" ({ "{") (if_statement "if (uVar3 == 0) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }\n        else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" (if "if") (parenthesized_expression "(uVar3 == 0)" (( "(") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n        }" ({ "{") (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (} "}")) (else_clause "else {\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" (else "else") (compound_statement "{\n          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n          uVar3 = *puVar5;\n          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;\n          uVar4 = param_1[0x11];\n          param_1[0x11] = uVar4 & 0xfffffffe;\n          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }\n        }" ({ "{") (expression_statement "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)()" (identifier "puVar5") (= "=") (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00041208" (* "*") (cast_expression "(code *)PTR___errno_location_00041208" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00041208"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar3 = *puVar5;" (assignment_expression "uVar3 = *puVar5" (identifier "uVar3") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (if_statement "if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))\n          goto LAB_000197c0;" (if "if") (parenthesized_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))" (( "(") (binary_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)" (parenthesized_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2))" (( "(") (binary_expression "((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)" (parenthesized_expression "((uVar3 & 0xfffffff7) == 4)" (( "(") (binary_expression "(uVar3 & 0xfffffff7) == 4" (parenthesized_expression "(uVar3 & 0xfffffff7)" (( "(") (binary_expression "uVar3 & 0xfffffff7" (identifier "uVar3") (& "&") (number_literal "0xfffffff7")) () ")")) (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(uVar3 - 0x17 < 2)" (( "(") (binary_expression "uVar3 - 0x17 < 2" (binary_expression "uVar3 - 0x17" (identifier "uVar3") (- "-") (number_literal "0x17")) (< "<") (number_literal "2")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar3 == 0x84)" (( "(") (binary_expression "uVar3 == 0x84" (identifier "uVar3") (== "==") (number_literal "0x84")) () ")"))) () ")")) (goto_statement "goto LAB_000197c0;" (goto "goto") (statement_identifier "LAB_000197c0") (; ";"))) (expression_statement "uVar4 = param_1[0x11];" (assignment_expression "uVar4 = param_1[0x11]" (identifier "uVar4") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (expression_statement "param_1[0x11] = uVar4 & 0xfffffffe;" (assignment_expression "param_1[0x11] = uVar4 & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "uVar4 & 0xfffffffe" (identifier "uVar4") (& "&") (number_literal "0xfffffffe"))) (; ";")) (if_statement "if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }" (if "if") (parenthesized_expression "(((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb))" (( "(") (binary_expression "((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)" (parenthesized_expression "((cVar1 == '\0') && ((uVar4 & 0x80) == 0))" (( "(") (binary_expression "(cVar1 == '\0') && ((uVar4 & 0x80) == 0)" (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((uVar4 & 0x80) == 0)" (( "(") (binary_expression "(uVar4 & 0x80) == 0" (parenthesized_expression "(uVar4 & 0x80)" (( "(") (binary_expression "uVar4 & 0x80" (identifier "uVar4") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar3 == 0xb)" (( "(") (binary_expression "uVar3 == 0xb" (identifier "uVar3") (== "==") (number_literal "0xb")) () ")"))) () ")")) (compound_statement "{\n            uVar3 = param_1[0x11];\n            goto LAB_000196dc;\n          }" ({ "{") (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";")) (goto_statement "goto LAB_000196dc;" (goto "goto") (statement_identifier "LAB_000196dc") (; ";")) (} "}"))) (} "}")))) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000196d4:\n        uVar3 = param_1[0x11];" (statement_identifier "LAB_000196d4") (: ":") (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";"))) (} "}")) (else_clause "else {\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" (else "else") (compound_statement "{\n        param_1[0xb] = param_1[0xb] + uVar3;\n        if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }\nLAB_000197c0:\n        uVar3 = param_1[0x11];\n        if ((uVar3 & 1) != 0) goto LAB_000197d0;\n      }" ({ "{") (expression_statement "param_1[0xb] = param_1[0xb] + uVar3;" (assignment_expression "param_1[0xb] = param_1[0xb] + uVar3" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (binary_expression "param_1[0xb] + uVar3" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (+ "+") (identifier "uVar3"))) (; ";")) (if_statement "if (uVar3 < uVar4) {\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }" (if "if") (parenthesized_expression "(uVar3 < uVar4)" (( "(") (binary_expression "uVar3 < uVar4" (identifier "uVar3") (< "<") (identifier "uVar4")) () ")")) (compound_statement "{\n          param_1[0x11] = param_1[0x11] & 0xfffffffe;\n          goto LAB_000196d4;\n        }" ({ "{") (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (goto_statement "goto LAB_000196d4;" (goto "goto") (statement_identifier "LAB_000196d4") (; ";")) (} "}"))) (labeled_statement "LAB_000197c0:\n        uVar3 = param_1[0x11];" (statement_identifier "LAB_000197c0") (: ":") (expression_statement "uVar3 = param_1[0x11];" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (; ";"))) (if_statement "if ((uVar3 & 1) != 0) goto LAB_000197d0;" (if "if") (parenthesized_expression "((uVar3 & 1) != 0)" (( "(") (binary_expression "(uVar3 & 1) != 0" (parenthesized_expression "(uVar3 & 1)" (( "(") (binary_expression "uVar3 & 1" (identifier "uVar3") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000197d0;" (goto "goto") (statement_identifier "LAB_000197d0") (; ";"))) (} "}")))) (labeled_statement "LAB_000196dc:\n      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }" (statement_identifier "LAB_000196dc") (: ":") (if_statement "if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {\n        param_1[9] = 0;\n      }" (if "if") (parenthesized_expression "(((uVar3 & 0x80) != 0) || (cVar1 != '\0'))" (( "(") (binary_expression "((uVar3 & 0x80) != 0) || (cVar1 != '\0')" (parenthesized_expression "((uVar3 & 0x80) != 0)" (( "(") (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" (( "(") (binary_expression "uVar3 & 0x80" (identifier "uVar3") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        param_1[9] = 0;\n      }" ({ "{") (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (} "}"))) (labeled_statement "LAB_000197d0:\n  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" (statement_identifier "LAB_000197d0") (: ":") (if_statement "if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" (if "if") (parenthesized_expression "(((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0))" (( "(") (binary_expression "((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)" (parenthesized_expression "((param_1[0xe] & 2U) != 0)" (( "(") (binary_expression "(param_1[0xe] & 2U) != 0" (parenthesized_expression "(param_1[0xe] & 2U)" (( "(") (binary_expression "param_1[0xe] & 2U" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "2U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar3 = param_1[0xb], uVar3 != 0)" (( "(") (comma_expression "uVar3 = param_1[0xb], uVar3 != 0" (assignment_expression "uVar3 = param_1[0xb]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]"))) (, ",") (binary_expression "uVar3 != 0" (identifier "uVar3") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);\n    if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }\n    if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n  }" ({ "{") (if_statement "if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }" (if "if") (parenthesized_expression "((int)uVar3 < 0)" (( "(") (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar3 = 0x7fffffff;\n    }" ({ "{") (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" (identifier "uVar3") (= "=") (number_literal "0x7fffffff")) (; ";")) (} "}"))) (expression_statement "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);" (assignment_expression "uVar4 = (*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_gnutls_record_send_00041160)\n                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" (parenthesized_expression "(*(code *)PTR_gnutls_record_send_00041160)" (( "(") (pointer_expression "*(code *)PTR_gnutls_record_send_00041160" (* "*") (cast_expression "(code *)PTR_gnutls_record_send_00041160" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gnutls_record_send_00041160"))) () ")")) (argument_list "(*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3)" (( "(") (pointer_expression "*(undefined4 *)(iVar7 + 0xe4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xe4)" (( "(") (binary_expression "iVar7 + 0xe4" (identifier "iVar7") (+ "+") (number_literal "0xe4")) () ")")))) (, ",") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "uVar3") () ")")))) (; ";")) (if_statement "if ((int)uVar4 < 1) {\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }\n    else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" (if "if") (parenthesized_expression "((int)uVar4 < 1)" (( "(") (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      if (uVar4 == 0xffffffcc) goto LAB_0001982c;\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);\n      param_1[0xb] = 0;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" ({ "{") (if_statement "if (uVar4 == 0xffffffcc) goto LAB_0001982c;" (if "if") (parenthesized_expression "(uVar4 == 0xffffffcc)" (( "(") (binary_expression "uVar4 == 0xffffffcc" (identifier "uVar4") (== "==") (number_literal "0xffffffcc")) () ")")) (goto_statement "goto LAB_0001982c;" (goto "goto") (statement_identifier "LAB_0001982c") (; ";"))) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);" (assignment_expression "uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_gnutls_strerror_000411b8)(uVar4)" (parenthesized_expression "(*(code *)PTR_gnutls_strerror_000411b8)" (( "(") (pointer_expression "*(code *)PTR_gnutls_strerror_000411b8" (* "*") (cast_expression "(code *)PTR_gnutls_strerror_000411b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gnutls_strerror_000411b8"))) () ")")) (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6)" (identifier "FUN_00022d40") (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6)" (( "(") (identifier "iVar8") (, ",") (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c" (identifier "PTR_s_than_FD_SETSIZE___d_") (> ">") (binary_expression "__d_0004105c + -0x170c" (identifier "__d_0004105c") (+ "+") (number_literal "-0x170c"))) (, ",") (number_literal "0") (, ",") (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" (else "else") (compound_statement "{\n      iVar2 = param_1[0xb] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }\n      param_1[0xb] = iVar2;\nLAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;\n    }" ({ "{") (expression_statement "iVar2 = param_1[0xb] - uVar4;" (assignment_expression "iVar2 = param_1[0xb] - uVar4" (identifier "iVar2") (= "=") (binary_expression "param_1[0xb] - uVar4" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (- "-") (identifier "uVar4"))) (; ";")) (if_statement "if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }" (if "if") (parenthesized_expression "((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3))" (( "(") (binary_expression "(iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)" (( "(") (comma_expression "(*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3" (call_expression "(*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" (( "(") (pointer_expression "*(code *)PTR_memmove_00041300" (* "*") (cast_expression "(code *)PTR_memmove_00041300" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_00041300"))) () ")")) (argument_list "(param_1[7],param_1[7] + uVar4,iVar2)" (( "(") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (, ",") (binary_expression "param_1[7] + uVar4" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (+ "+") (identifier "uVar4")) (, ",") (identifier "iVar2") () ")"))) (, ",") (binary_expression "uVar4 < uVar3" (identifier "uVar4") (< "<") (identifier "uVar3"))) () ")"))) () ")")) (compound_statement "{\n        param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      }" ({ "{") (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (} "}"))) (expression_statement "param_1[0xb] = iVar2;" (assignment_expression "param_1[0xb] = iVar2" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (labeled_statement "LAB_0001982c:\n      if (param_1[0xb] != 0) goto LAB_00019838;" (statement_identifier "LAB_0001982c") (: ":") (if_statement "if (param_1[0xb] != 0) goto LAB_00019838;" (if "if") (parenthesized_expression "(param_1[0xb] != 0)" (( "(") (binary_expression "param_1[0xb] != 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00019838;" (goto "goto") (statement_identifier "LAB_00019838") (; ";")))) (} "}")))) (if_statement "if ((param_1[0xe] & 0x80U) != 0) {\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" (if "if") (parenthesized_expression "((param_1[0xe] & 0x80U) != 0)" (( "(") (binary_expression "(param_1[0xe] & 0x80U) != 0" (parenthesized_expression "(param_1[0xe] & 0x80U)" (( "(") (binary_expression "param_1[0xe] & 0x80U" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0x80U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      param_1[0xe] = param_1[0xe] & 0xfffffffd;\n      param_1[9] = 0;\n      param_1[0x11] = param_1[0x11] & 0xfffffffe;\n    }" ({ "{") (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00019838:\n  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" (statement_identifier "LAB_00019838") (: ":") (if_statement "if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }\n  else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" (if "if") (parenthesized_expression "(((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0))" (( "(") (binary_expression "((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)" (parenthesized_expression "((param_1[0x11] & 2U) == 0)" (( "(") (binary_expression "(param_1[0x11] & 2U) == 0" (parenthesized_expression "(param_1[0x11] & 2U)" (( "(") (binary_expression "param_1[0x11] & 2U" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "2U")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar3 = param_1[10], uVar3 == 0)" (( "(") (comma_expression "uVar3 = param_1[10], uVar3 == 0" (assignment_expression "uVar3 = param_1[10]" (identifier "uVar3") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (, ",") (binary_expression "uVar3 == 0" (identifier "uVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }\n  }" ({ "{") (labeled_statement "LAB_00019ac0:\n    if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" (statement_identifier "LAB_00019ac0") (: ":") (if_statement "if ((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" (if "if") (parenthesized_expression "((*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0))))" (( "(") (binary_expression "(*(char *)(iVar7 + 0xf4) != '\0') &&\n       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))" (parenthesized_expression "(*(char *)(iVar7 + 0xf4) != '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0xf4) != '\0'" (pointer_expression "*(char *)(iVar7 + 0xf4)" (* "*") (cast_expression "(char *)(iVar7 + 0xf4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))" (( "(") (parenthesized_expression "((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0))" (( "(") (binary_expression "(uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)" (binary_expression "(uint)param_1[10] < (uint)param_1[8]" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (< "<") (cast_expression "(uint)param_1[8]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")))) (&& "&&") (parenthesized_expression "((*(uint *)(iVar8 + 0xf8) & 4) == 0)" (( "(") (binary_expression "(*(uint *)(iVar8 + 0xf8) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar8 + 0xf8) & 4)" (( "(") (binary_expression "*(uint *)(iVar8 + 0xf8) & 4" (pointer_expression "*(uint *)(iVar8 + 0xf8)" (* "*") (cast_expression "(uint *)(iVar8 + 0xf8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xf8)" (( "(") (binary_expression "iVar8 + 0xf8" (identifier "iVar8") (+ "+") (number_literal "0xf8")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      *(undefined1 *)(iVar8 + 0xe4) = 1;\n    }" ({ "{") (expression_statement "*(undefined1 *)(iVar8 + 0xe4) = 1;" (assignment_expression "*(undefined1 *)(iVar8 + 0xe4) = 1" (pointer_expression "*(undefined1 *)(iVar8 + 0xe4)" (* "*") (cast_expression "(undefined1 *)(iVar8 + 0xe4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xe4)" (( "(") (binary_expression "iVar8 + 0xe4" (identifier "iVar8") (+ "+") (number_literal "0xe4")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" (else "else") (compound_statement "{\n    if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }\n    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);\n    if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }\n  }" ({ "{") (if_statement "if ((int)uVar3 < 0) {\n      uVar3 = 0x7fffffff;\n    }" (if "if") (parenthesized_expression "((int)uVar3 < 0)" (( "(") (binary_expression "(int)uVar3 < 0" (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar3 = 0x7fffffff;\n    }" ({ "{") (expression_statement "uVar3 = 0x7fffffff;" (assignment_expression "uVar3 = 0x7fffffff" (identifier "uVar3") (= "=") (number_literal "0x7fffffff")) (; ";")) (} "}"))) (expression_statement "uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);" (assignment_expression "uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000)" (parenthesized_expression "(*(code *)PTR_send_0004114c)" (( "(") (pointer_expression "*(code *)PTR_send_0004114c" (* "*") (cast_expression "(code *)PTR_send_0004114c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_send_0004114c"))) () ")")) (argument_list "(param_1[0x10],param_1[6],uVar3,0x4000)" (( "(") (subscript_expression "param_1[0x10]" (identifier "param_1") ([ "[") (number_literal "0x10") (] "]")) (, ",") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (identifier "uVar3") (, ",") (number_literal "0x4000") () ")")))) (; ";")) (if_statement "if ((int)uVar4 < 1) {\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }\n    else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" (if "if") (parenthesized_expression "((int)uVar4 < 1)" (( "(") (binary_expression "(int)uVar4 < 1" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();\n      uVar3 = *puVar5;\n      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;\n      iVar2 = param_1[10];\n      uVar6 = (*(code *)PTR_strerror_00041258)();\n      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);\n      param_1[10] = 0;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;\n    }" ({ "{") (expression_statement "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();" (assignment_expression "puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)()" (identifier "puVar5") (= "=") (cast_expression "(uint *)(*(code *)PTR___errno_location_00041208)()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00041208)()" (parenthesized_expression "(*(code *)PTR___errno_location_00041208)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00041208" (* "*") (cast_expression "(code *)PTR___errno_location_00041208" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00041208"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar3 = *puVar5;" (assignment_expression "uVar3 = *puVar5" (identifier "uVar3") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (if_statement "if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;" (if "if") (parenthesized_expression "(((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb))" (( "(") (binary_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||\n         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)" (parenthesized_expression "((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))" (( "(") (binary_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)" (parenthesized_expression "(((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2))" (( "(") (binary_expression "((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)" (parenthesized_expression "((uVar3 & 0xfffffff7) == 4)" (( "(") (binary_expression "(uVar3 & 0xfffffff7) == 4" (parenthesized_expression "(uVar3 & 0xfffffff7)" (( "(") (binary_expression "uVar3 & 0xfffffff7" (identifier "uVar3") (& "&") (number_literal "0xfffffff7")) () ")")) (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(uVar3 - 0x17 < 2)" (( "(") (binary_expression "uVar3 - 0x17 < 2" (binary_expression "uVar3 - 0x17" (identifier "uVar3") (- "-") (number_literal "0x17")) (< "<") (number_literal "2")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(uVar3 == 0x84)" (( "(") (binary_expression "uVar3 == 0x84" (identifier "uVar3") (== "==") (number_literal "0x84")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)" (( "(") (comma_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffd"))) (, ",") (binary_expression "uVar3 == 0xb" (identifier "uVar3") (== "==") (number_literal "0xb"))) () ")"))) () ")")) (goto_statement "goto LAB_00019898;" (goto "goto") (statement_identifier "LAB_00019898") (; ";"))) (expression_statement "iVar2 = param_1[10];" (assignment_expression "iVar2 = param_1[10]" (identifier "iVar2") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "uVar6 = (*(code *)PTR_strerror_00041258)();" (assignment_expression "uVar6 = (*(code *)PTR_strerror_00041258)()" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_strerror_00041258)()" (parenthesized_expression "(*(code *)PTR_strerror_00041258)" (( "(") (pointer_expression "*(code *)PTR_strerror_00041258" (* "*") (cast_expression "(code *)PTR_strerror_00041258" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strerror_00041258"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6)" (identifier "FUN_00022d40") (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6)" (( "(") (identifier "iVar8") (, ",") (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4" (identifier "PTR_s_than_FD_SETSIZE___d_") (> ">") (binary_expression "__d_0004105c + -0x16b4" (identifier "__d_0004105c") (+ "+") (number_literal "-0x16b4"))) (, ",") (number_literal "0") (, ",") (identifier "iVar2") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "param_1[10] = 0;" (assignment_expression "param_1[10] = 0" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xf4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;" (if "if") (parenthesized_expression "((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0))" (( "(") (binary_expression "(param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)" (parenthesized_expression "(param_1[10] == 0)" (( "(") (binary_expression "param_1[10] == 0" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)" (( "(") (comma_expression "uVar3 = param_1[0x11], (uVar3 & 0x80) != 0" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (, ",") (binary_expression "(uVar3 & 0x80) != 0" (parenthesized_expression "(uVar3 & 0x80)" (( "(") (binary_expression "uVar3 & 0x80" (identifier "uVar3") (& "&") (number_literal "0x80")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000198b8;" (goto "goto") (statement_identifier "LAB_000198b8") (; ";"))) (} "}")) (else_clause "else {\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" (else "else") (compound_statement "{\n      iVar2 = param_1[10] - uVar4;\n      if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }\n      param_1[10] = iVar2;\nLAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;\nLAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;\n      param_1[8] = 0;\n      param_1[0xe] = param_1[0xe] & 0xfffffffe;\n      *(undefined1 *)(iVar7 + 0xf4) = 0;\n    }" ({ "{") (expression_statement "iVar2 = param_1[10] - uVar4;" (assignment_expression "iVar2 = param_1[10] - uVar4" (identifier "iVar2") (= "=") (binary_expression "param_1[10] - uVar4" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (- "-") (identifier "uVar4"))) (; ";")) (if_statement "if ((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }" (if "if") (parenthesized_expression "((iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3))" (( "(") (binary_expression "(iVar2 != 0) &&\n         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)" (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)" (( "(") (comma_expression "(*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3" (call_expression "(*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2)" (parenthesized_expression "(*(code *)PTR_memmove_00041300)" (( "(") (pointer_expression "*(code *)PTR_memmove_00041300" (* "*") (cast_expression "(code *)PTR_memmove_00041300" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memmove_00041300"))) () ")")) (argument_list "(param_1[6],param_1[6] + uVar4,iVar2)" (( "(") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (, ",") (binary_expression "param_1[6] + uVar4" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (+ "+") (identifier "uVar4")) (, ",") (identifier "iVar2") () ")"))) (, ",") (binary_expression "uVar4 < uVar3" (identifier "uVar4") (< "<") (identifier "uVar3"))) () ")"))) () ")")) (compound_statement "{\n        param_1[0x11] = param_1[0x11] & 0xfffffffd;\n      }" ({ "{") (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffd;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (} "}"))) (expression_statement "param_1[10] = iVar2;" (assignment_expression "param_1[10] = iVar2" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar2")) (; ";")) (labeled_statement "LAB_00019898:\n      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;" (statement_identifier "LAB_00019898") (: ":") (if_statement "if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;" (if "if") (parenthesized_expression "((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0))" (( "(") (binary_expression "(param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)" (parenthesized_expression "(param_1[10] != 0)" (( "(") (binary_expression "param_1[10] != 0" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)" (( "(") (comma_expression "uVar3 = param_1[0x11], (uVar3 & 0x80) == 0" (assignment_expression "uVar3 = param_1[0x11]" (identifier "uVar3") (= "=") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]"))) (, ",") (binary_expression "(uVar3 & 0x80) == 0" (parenthesized_expression "(uVar3 & 0x80)" (( "(") (binary_expression "uVar3 & 0x80" (identifier "uVar3") (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00019ac0;" (goto "goto") (statement_identifier "LAB_00019ac0") (; ";")))) (labeled_statement "LAB_000198b8:\n      param_1[0x11] = uVar3 & 0xfffffffd;" (statement_identifier "LAB_000198b8") (: ":") (expression_statement "param_1[0x11] = uVar3 & 0xfffffffd;" (assignment_expression "param_1[0x11] = uVar3 & 0xfffffffd" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "uVar3 & 0xfffffffd" (identifier "uVar3") (& "&") (number_literal "0xfffffffd"))) (; ";"))) (expression_statement "param_1[8] = 0;" (assignment_expression "param_1[8] = 0" (subscript_expression "param_1[8]" (identifier "param_1") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffe;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffe" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "*(undefined1 *)(iVar7 + 0xf4) = 0;" (assignment_expression "*(undefined1 *)(iVar7 + 0xf4) = 0" (pointer_expression "*(undefined1 *)(iVar7 + 0xf4)" (* "*") (cast_expression "(undefined1 *)(iVar7 + 0xf4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xf4)" (( "(") (binary_expression "iVar7 + 0xf4" (identifier "iVar7") (+ "+") (number_literal "0xf4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))))) (if_statement "if (*(char *)(iVar8 + 0xe0) == '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar8 + 0xe0) == '\0')" (( "(") (binary_expression "*(char *)(iVar8 + 0xe0) == '\0'" (pointer_expression "*(char *)(iVar8 + 0xe0)" (* "*") (cast_expression "(char *)(iVar8 + 0xe0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xe0)" (( "(") (binary_expression "iVar8 + 0xe0" (identifier "iVar8") (+ "+") (number_literal "0xe0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_1[9] == 0) {\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }\n  else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" (if "if") (parenthesized_expression "(param_1[9] == 0)" (( "(") (binary_expression "param_1[9] == 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (param_1[0xb] == 0) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (param_1[0xb] == 0) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_1[0xb] == 0)" (( "(") (binary_expression "param_1[0xb] == 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" (else "else") (if_statement "if (param_1[0xb] == 0) {\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" (if "if") (parenthesized_expression "(param_1[0xb] == 0)" (( "(") (binary_expression "param_1[0xb] == 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    param_1[0xb] = 0;\n    goto LAB_00019b54;\n  }" ({ "{") (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00019b54;" (goto "goto") (statement_identifier "LAB_00019b54") (; ";")) (} "}"))))) (expression_statement "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);" (call_expression "FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" (identifier "FUN_00022d40") (argument_list "(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0)" (( "(") (identifier "iVar8") (, ",") (binary_expression "PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660" (identifier "PTR_s_than_FD_SETSIZE___d_") (> ">") (binary_expression "__d_0004105c + -0x1660" (identifier "__d_0004105c") (+ "+") (number_literal "-0x1660"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "param_1[0xb] = 0;" (assignment_expression "param_1[0xb] = 0" (subscript_expression "param_1[0xb]" (identifier "param_1") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00019b54:\n  param_1[0xe] = param_1[0xe] & 0xfffffffd;" (statement_identifier "LAB_00019b54") (: ":") (expression_statement "param_1[0xe] = param_1[0xe] & 0xfffffffd;" (assignment_expression "param_1[0xe] = param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (= "=") (binary_expression "param_1[0xe] & 0xfffffffd" (subscript_expression "param_1[0xe]" (identifier "param_1") ([ "[") (number_literal "0xe") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";"))) (expression_statement "param_1[9] = 0;" (assignment_expression "param_1[9] = 0" (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[0x11] = param_1[0x11] & 0xfffffffe;" (assignment_expression "param_1[0x11] = param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (= "=") (binary_expression "param_1[0x11] & 0xfffffffe" (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* 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 *urh)

{
  type_2 var_4;
  size_t var_5;
  type_3 var_7;
  type_4 var_10;
  int var_12;
  type_4 *puVar6;
  type_5 uVar7;
  type_6 *pMVar8;
  type_7 *daemon;
  type_4 var_11;
  
  pMVar8 = urh->connection;
  daemon = pMVar8->daemon;
  if (daemon->shutdown != false) {
    if (urh->was_closed == false) {
      var_1(daemon,var_2>var_3 + -0x17c4);
    }
    urh->was_closed = true;
  }
  var_4 = urh->was_closed;
  if (var_4 != false) {
    if (urh->in_buffer_used == 0) {
      var_5 = urh->out_buffer_size;
    }
    else {
      var_1(daemon,var_2>var_3 + -0x177c,0);
      var_5 = urh->out_buffer_size;
    }
    if (var_5 != 0) {
      (urh->mhd).celi = (urh->mhd).celi | var_6;
    }
    urh->in_buffer_used = 0;
    (urh->mhd).celi = (urh->mhd).celi & ~var_13;
    urh->in_buffer_size = 0;
    (urh->app).celi = (urh->app).celi & ~var_6;
    pMVar8->tls_read_ready = false;
  }
  var_7 = (urh->app).celi;
  if ((var_7 & var_8) == var_9) {
    var_7 = (urh->mhd).celi;
    if ((var_7 & var_8) != var_9) goto LAB_00019638;
LAB_0001963c:
    if ((((urh->app).celi & var_6) != var_9) ||
       (pMVar8->tls_read_ready != false)) goto LAB_00019558;
  }
  else {
    (urh->app).celi = var_7 | var_6;
    var_7 = (urh->mhd).celi;
    if ((var_7 & var_8) != var_9) {
LAB_00019638:
      (urh->mhd).celi = var_7 | var_6;
      goto LAB_0001963c;
    }
LAB_00019558:
    var_11 = urh->in_buffer_size - urh->in_buffer_used;
    if (urh->in_buffer_used < urh->in_buffer_size) {
      if ((int)var_11 < 0) {
        var_11 = 0x7fffffff;
      }
      pMVar8->tls_read_ready = false;
      var_10 = (*(type_8 *)PTR_gnutls_record_recv_000412d0)
                        (pMVar8->tls_session,urh->in_buffer + urh->in_buffer_used,var_11);
      if ((int)var_10 < 1) {
        if ((var_10 != 0xffffffcc) &&
           ((urh->app).celi = (urh->app).celi & ~var_6, var_10 != 0xffffffe4)) {
          urh->in_buffer_size = 0;
        }
      }
      else {
        urh->in_buffer_used = urh->in_buffer_used + var_10;
        if (var_10 < var_11) {
          (urh->app).celi = (urh->app).celi & ~var_6;
        }
        else {
          var_12 = (*(type_8 *)PTR_gnutls_record_check_pending_000411ec)(pMVar8->tls_session);
          if (var_12 != 0) {
            pMVar8->tls_read_ready = true;
          }
        }
      }
      if (((urh->app).celi & (var_8|var_6)) ==
          var_8) {
        urh->in_buffer_size = 0;
      }
    }
  }
  if (((urh->mhd).celi & var_6) != var_9) {
    var_11 = urh->out_buffer_used;
    var_10 = urh->out_buffer_size - var_11;
    if (var_11 < urh->out_buffer_size) {
      if ((int)var_10 < 0) {
        var_10 = 0x7fffffff;
      }
      var_11 = (*(type_8 *)PTR_recv_00041164)((urh->mhd).socket,urh->out_buffer + var_11,var_10,0);
      if ((int)var_11 < 1) {
        if (var_11 == 0) {
          (urh->mhd).celi = (urh->mhd).celi & ~var_6;
        }
        else {
          puVar6 = (type_4 *)(*(type_8 *)PTR___errno_location_00041208)();
          var_11 = *puVar6;
          if ((((var_11 & 0xfffffff7) == 4) || (var_11 - 0x17 < 2)) || (var_11 == 0x84))
          goto LAB_000197c0;
          var_7 = (urh->mhd).celi;
          (urh->mhd).celi = var_7 & ~var_6;
          if (((var_4 == false) && ((var_7 & var_8) == var_9)) &&
             (var_11 == 0xb)) {
            var_7 = (urh->mhd).celi;
            goto LAB_000196dc;
          }
        }
        urh->out_buffer_size = 0;
LAB_000196d4:
        var_7 = (urh->mhd).celi;
      }
      else {
        urh->out_buffer_used = urh->out_buffer_used + var_11;
        if (var_11 < var_10) {
          (urh->mhd).celi = (urh->mhd).celi & ~var_6;
          goto LAB_000196d4;
        }
LAB_000197c0:
        var_7 = (urh->mhd).celi;
        if ((var_7 & var_6) != var_9) goto LAB_000197d0;
      }
LAB_000196dc:
      if (((var_7 & var_8) != var_9) || (var_4 != false)) {
        urh->out_buffer_size = 0;
      }
    }
  }
LAB_000197d0:
  if ((((urh->app).celi & var_13) != var_9) &&
     (var_11 = urh->out_buffer_used, var_11 != 0)) {
    if ((int)var_11 < 0) {
      var_11 = 0x7fffffff;
    }
    var_10 = (*(type_8 *)PTR_gnutls_record_send_00041160)(pMVar8->tls_session,urh->out_buffer,var_11);
    if ((int)var_10 < 1) {
      if (var_10 == 0xffffffcc) goto LAB_0001982c;
      (urh->app).celi = (urh->app).celi & ~var_13;
      uVar7 = (*(type_8 *)PTR_gnutls_strerror_000411b8)(var_10);
      var_1(daemon,var_2>var_3 + -0x170c,0,urh->out_buffer_used,uVar7
              );
      urh->out_buffer_used = 0;
      urh->out_buffer_size = 0;
      (urh->mhd).celi = (urh->mhd).celi & ~var_6;
    }
    else {
      var_5 = urh->out_buffer_used - var_10;
      if ((var_5 != 0) &&
         ((*(type_8 *)PTR_memmove_00041300)(urh->out_buffer,urh->out_buffer + var_10,var_5),
         var_10 < var_11)) {
        (urh->app).celi = (urh->app).celi & ~var_13;
        var_14();
        return;
      }
      urh->out_buffer_used = var_5;
LAB_0001982c:
      if (urh->out_buffer_used != 0) goto LAB_00019838;
    }
    var_7 = (urh->app).celi;
    if ((var_7 & var_8) != var_9) {
      (urh->app).celi = var_7 & ~var_13;
      urh->out_buffer_size = 0;
      (urh->mhd).celi = (urh->mhd).celi & ~var_6;
    }
  }
LAB_00019838:
  if ((((urh->mhd).celi & var_13) == var_9) ||
     (var_11 = urh->in_buffer_used, var_11 == 0)) {
LAB_00019ac0:
    if ((pMVar8->tls_read_ready != false) &&
       ((urh->in_buffer_used < urh->in_buffer_size &&
        ((daemon->options & var_15) == var_16)))) {
      daemon->data_already_pending = true;
    }
  }
  else {
    if ((int)var_11 < 0) {
      var_11 = 0x7fffffff;
    }
    var_10 = (*(type_8 *)PTR_send_0004114c)((urh->mhd).socket,urh->in_buffer,var_11,0x4000);
    if ((int)var_10 < 1) {
      puVar6 = (type_4 *)(*(type_8 *)PTR___errno_location_00041208)();
      var_11 = *puVar6;
      if (((((var_11 & 0xfffffff7) == 4) || (var_11 - 0x17 < 2)) || (var_11 == 0x84)) ||
         ((urh->mhd).celi = (urh->mhd).celi & ~var_13, var_11 == 0xb))
      goto LAB_00019898;
      var_5 = urh->in_buffer_used;
      uVar7 = (*(type_8 *)PTR_strerror_00041258)();
      var_1(daemon,var_2>var_3 + -0x16b4,0,var_5,uVar7);
      urh->in_buffer_used = 0;
      urh->in_buffer_size = 0;
      (urh->app).celi = (urh->app).celi & ~var_6;
      pMVar8->tls_read_ready = false;
      if ((urh->in_buffer_used == 0) &&
         (var_7 = (urh->mhd).celi, (var_7 & var_8) != var_9))
      goto LAB_000198b8;
    }
    else {
      var_5 = urh->in_buffer_used - var_10;
      if ((var_5 != 0) &&
         ((*(type_8 *)PTR_memmove_00041300)(urh->in_buffer,urh->in_buffer + var_10,var_5),
         var_10 < var_11)) {
        (urh->mhd).celi = (urh->mhd).celi & ~var_13;
      }
      urh->in_buffer_used = var_5;
LAB_00019898:
      if ((urh->in_buffer_used != 0) ||
         (var_7 = (urh->mhd).celi, (var_7 & var_8) == var_9))
      goto LAB_00019ac0;
LAB_000198b8:
      (urh->mhd).celi = var_7 & ~var_13;
      urh->in_buffer_size = 0;
      (urh->app).celi = (urh->app).celi & ~var_6;
      pMVar8->tls_read_ready = false;
    }
  }
  if (daemon->shutdown == false) {
    return;
  }
  if (urh->out_buffer_size == 0) {
    if (urh->out_buffer_used == 0) {
      return;
    }
  }
  else if (urh->out_buffer_used == 0) {
    urh->out_buffer_used = 0;
    goto LAB_00019b54;
  }
  var_1(daemon,var_2>var_3 + -0x1660,0);
  urh->out_buffer_used = 0;
LAB_00019b54:
  (urh->app).celi = (urh->app).celi & ~var_13;
  urh->out_buffer_size = 0;
  (urh->mhd).celi = (urh->mhd).celi & ~var_6;
  return;
}


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

void MASKED(int *param_1)

{
  char cVar1;
  int iVar2;
  uint uVar3;
  uint uVar4;
  uint *puVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  
  iVar7 = *param_1;
  iVar8 = *(int *)(iVar7 + 0x18);
  if (*(char *)(iVar8 + 0xe0) != '\0') {
    if (*(char *)(param_1 + 0x14) == '\0') {
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x17c4);
    }
    *(undefined1 *)(param_1 + 0x14) = 1;
  }
  cVar1 = *(char *)(param_1 + 0x14);
  if (cVar1 != '\0') {
    if (param_1[10] == 0) {
      iVar2 = param_1[9];
    }
    else {
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x177c,0);
      iVar2 = param_1[9];
    }
    if (iVar2 != 0) {
      param_1[0x11] = param_1[0x11] | 1;
    }
    param_1[10] = 0;
    param_1[0x11] = param_1[0x11] & 0xfffffffd;
    param_1[8] = 0;
    param_1[0xe] = param_1[0xe] & 0xfffffffe;
    *(undefined1 *)(iVar7 + 0xf4) = 0;
  }
  if ((param_1[0xe] & 0x80U) == 0) {
    uVar3 = param_1[0x11];
    if ((uVar3 & 0x80) != 0) goto LAB_00019638;
LAB_0001963c:
    if (((param_1[0xe] & 1U) != 0) || (*(char *)(iVar7 + 0xf4) != '\0')) goto LAB_00019558;
  }
  else {
    param_1[0xe] = param_1[0xe] | 1;
    uVar3 = param_1[0x11];
    if ((uVar3 & 0x80) != 0) {
LAB_00019638:
      param_1[0x11] = uVar3 | 1;
      goto LAB_0001963c;
    }
LAB_00019558:
    uVar3 = param_1[8] - param_1[10];
    if ((uint)param_1[10] < (uint)param_1[8]) {
      if ((int)uVar3 < 0) {
        uVar3 = 0x7fffffff;
      }
      *(undefined1 *)(iVar7 + 0xf4) = 0;
      uVar4 = (*(code *)PTR_gnutls_record_recv_000412d0)
                        (*(undefined4 *)(iVar7 + 0xe4),param_1[6] + param_1[10],uVar3);
      if ((int)uVar4 < 1) {
        if ((uVar4 != 0xffffffcc) && (param_1[0xe] = param_1[0xe] & 0xfffffffe, uVar4 != 0xffffffe4)
           ) {
          param_1[8] = 0;
        }
      }
      else {
        param_1[10] = param_1[10] + uVar4;
        if (uVar4 < uVar3) {
          param_1[0xe] = param_1[0xe] & 0xfffffffe;
        }
        else {
          iVar2 = (*(code *)PTR_gnutls_record_check_pending_000411ec)(*(undefined4 *)(iVar7 + 0xe4))
          ;
          if (iVar2 != 0) {
            *(undefined1 *)(iVar7 + 0xf4) = 1;
          }
        }
      }
      if ((param_1[0xe] & 0x81U) == 0x80) {
        param_1[8] = 0;
      }
    }
  }
  if ((param_1[0x11] & 1U) != 0) {
    uVar3 = param_1[0xb];
    uVar4 = param_1[9] - uVar3;
    if (uVar3 < (uint)param_1[9]) {
      if ((int)uVar4 < 0) {
        uVar4 = 0x7fffffff;
      }
      uVar3 = (*(code *)PTR_recv_00041164)(param_1[0x10],param_1[7] + uVar3,uVar4,0);
      if ((int)uVar3 < 1) {
        if (uVar3 == 0) {
          param_1[0x11] = param_1[0x11] & 0xfffffffe;
        }
        else {
          puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();
          uVar3 = *puVar5;
          if ((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84))
          goto LAB_000197c0;
          uVar4 = param_1[0x11];
          param_1[0x11] = uVar4 & 0xfffffffe;
          if (((cVar1 == '\0') && ((uVar4 & 0x80) == 0)) && (uVar3 == 0xb)) {
            uVar3 = param_1[0x11];
            goto LAB_000196dc;
          }
        }
        param_1[9] = 0;
LAB_000196d4:
        uVar3 = param_1[0x11];
      }
      else {
        param_1[0xb] = param_1[0xb] + uVar3;
        if (uVar3 < uVar4) {
          param_1[0x11] = param_1[0x11] & 0xfffffffe;
          goto LAB_000196d4;
        }
LAB_000197c0:
        uVar3 = param_1[0x11];
        if ((uVar3 & 1) != 0) goto LAB_000197d0;
      }
LAB_000196dc:
      if (((uVar3 & 0x80) != 0) || (cVar1 != '\0')) {
        param_1[9] = 0;
      }
    }
  }
LAB_000197d0:
  if (((param_1[0xe] & 2U) != 0) && (uVar3 = param_1[0xb], uVar3 != 0)) {
    if ((int)uVar3 < 0) {
      uVar3 = 0x7fffffff;
    }
    uVar4 = (*(code *)PTR_gnutls_record_send_00041160)
                      (*(undefined4 *)(iVar7 + 0xe4),param_1[7],uVar3);
    if ((int)uVar4 < 1) {
      if (uVar4 == 0xffffffcc) goto LAB_0001982c;
      param_1[0xe] = param_1[0xe] & 0xfffffffd;
      uVar6 = (*(code *)PTR_gnutls_strerror_000411b8)(uVar4);
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x170c,0,param_1[0xb],uVar6);
      param_1[0xb] = 0;
      param_1[9] = 0;
      param_1[0x11] = param_1[0x11] & 0xfffffffe;
    }
    else {
      iVar2 = param_1[0xb] - uVar4;
      if ((iVar2 != 0) &&
         ((*(code *)PTR_memmove_00041300)(param_1[7],param_1[7] + uVar4,iVar2), uVar4 < uVar3)) {
        param_1[0xe] = param_1[0xe] & 0xfffffffd;
      }
      param_1[0xb] = iVar2;
LAB_0001982c:
      if (param_1[0xb] != 0) goto LAB_00019838;
    }
    if ((param_1[0xe] & 0x80U) != 0) {
      param_1[0xe] = param_1[0xe] & 0xfffffffd;
      param_1[9] = 0;
      param_1[0x11] = param_1[0x11] & 0xfffffffe;
    }
  }
LAB_00019838:
  if (((param_1[0x11] & 2U) == 0) || (uVar3 = param_1[10], uVar3 == 0)) {
LAB_00019ac0:
    if ((*(char *)(iVar7 + 0xf4) != '\0') &&
       (((uint)param_1[10] < (uint)param_1[8] && ((*(uint *)(iVar8 + 0xf8) & 4) == 0)))) {
      *(undefined1 *)(iVar8 + 0xe4) = 1;
    }
  }
  else {
    if ((int)uVar3 < 0) {
      uVar3 = 0x7fffffff;
    }
    uVar4 = (*(code *)PTR_send_0004114c)(param_1[0x10],param_1[6],uVar3,0x4000);
    if ((int)uVar4 < 1) {
      puVar5 = (uint *)(*(code *)PTR___errno_location_00041208)();
      uVar3 = *puVar5;
      if (((((uVar3 & 0xfffffff7) == 4) || (uVar3 - 0x17 < 2)) || (uVar3 == 0x84)) ||
         (param_1[0x11] = param_1[0x11] & 0xfffffffd, uVar3 == 0xb)) goto LAB_00019898;
      iVar2 = param_1[10];
      uVar6 = (*(code *)PTR_strerror_00041258)();
      FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x16b4,0,iVar2,uVar6);
      param_1[10] = 0;
      param_1[8] = 0;
      param_1[0xe] = param_1[0xe] & 0xfffffffe;
      *(undefined1 *)(iVar7 + 0xf4) = 0;
      if ((param_1[10] == 0) && (uVar3 = param_1[0x11], (uVar3 & 0x80) != 0)) goto LAB_000198b8;
    }
    else {
      iVar2 = param_1[10] - uVar4;
      if ((iVar2 != 0) &&
         ((*(code *)PTR_memmove_00041300)(param_1[6],param_1[6] + uVar4,iVar2), uVar4 < uVar3)) {
        param_1[0x11] = param_1[0x11] & 0xfffffffd;
      }
      param_1[10] = iVar2;
LAB_00019898:
      if ((param_1[10] != 0) || (uVar3 = param_1[0x11], (uVar3 & 0x80) == 0)) goto LAB_00019ac0;
LAB_000198b8:
      param_1[0x11] = uVar3 & 0xfffffffd;
      param_1[8] = 0;
      param_1[0xe] = param_1[0xe] & 0xfffffffe;
      *(undefined1 *)(iVar7 + 0xf4) = 0;
    }
  }
  if (*(char *)(iVar8 + 0xe0) == '\0') {
    return;
  }
  if (param_1[9] == 0) {
    if (param_1[0xb] == 0) {
      return;
    }
  }
  else if (param_1[0xb] == 0) {
    param_1[0xb] = 0;
    goto LAB_00019b54;
  }
  FUN_00022d40(iVar8,PTR_s_than_FD_SETSIZE___d_>__d_0004105c + -0x1660,0);
  param_1[0xb] = 0;
LAB_00019b54:
  param_1[0xe] = param_1[0xe] & 0xfffffffd;
  param_1[9] = 0;
  param_1[0x11] = param_1[0x11] & 0xfffffffe;
  return;
}

