
void apply_settings(_Bool checking,char *device_name,char **settings,int n_settings,termios *mode,
                   _Bool *speed_was_set,_Bool *require_set_attr)

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  speed_t sVar6;
  byte bVar13;
  tcflag_t *ptVar7;
  int iVar8;
  undefined4 uVar9;
  tcflag_t tVar10;
  char cVar14;
  uint uVar11;
  int *piVar12;
  uint uVar15;
  undefined3 in_register_00000010;
  int iVar16;
  char *pcVar17;
  undefined *puVar18;
  int *piVar19;
  int unaff_s0;
  char **ppcVar20;
  byte *pbVar21;
  char **unaff_s4;
  undefined4 *puVar22;
  undefined *puVar23;
  termios *ptVar24;
  termios *ptVar25;
  code *pcVar26;
  char *pcVar27;
  undefined *local_6c;
  char *local_68;
  undefined *local_5c;
  code *local_54;
  code *local_48;
  char *p;
  tcflag_t flag [4];
  tcflag_t local_2c;
  
  puVar18 = PTR___stack_chk_guard_000312dc;
  iVar16 = CONCAT31(in_register_00000010,checking);
  local_2c = *(tcflag_t *)PTR___stack_chk_guard_000312dc;
  if (n_settings < 2) goto LAB_00014b48;
  unaff_s0 = 1;
  local_6c = PTR_DAT_000310f8;
  local_68 = PTR_DAT_00031108 + -0x20b4;
  local_5c = PTR_DAT_00031108;
  local_54 = (code *)(PTR_00031104 + 0x3234);
  local_48 = (code *)(PTR_00031104 + 0x33ac);
LAB_00014af0:
  ppcVar20 = settings + unaff_s0;
  pcVar27 = *ppcVar20;
  iVar8 = unaff_s0;
  if (pcVar27 == (char *)0x0) goto LAB_00014ae0;
  if (*pcVar27 == '-') {
    pcVar27 = pcVar27 + 1;
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);
    if (iVar4 != 0) {
      bVar2 = true;
      goto LAB_00014bb8;
    }
    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;
  }
  else {
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);
    if (iVar4 != 0) {
      bVar2 = false;
LAB_00014bb8:
      iVar4 = 0;
      puVar22 = (undefined4 *)(local_6c + 0x8f4);
      pcVar17 = local_68;
      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {
        pcVar17 = (char *)*puVar22;
        iVar4 = iVar4 + 1;
        puVar22 = puVar22 + 5;
        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;
      }
      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);
      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;
      if (bVar2) {
        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {
          *require_set_attr = true;
          goto LAB_00015140;
        }
        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);
        if (ptVar7 != (tcflag_t *)0x0) {
          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);
        if (((iVar4 == 0) ||
            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)
            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),
                 iVar4 == 0)) {
          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
      }
      else {
        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);
        if (ptVar7 != (tcflag_t *)0x0) {
          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))
        {
          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);
        if (iVar4 == 0) {
          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;
          goto LAB_00015240;
        }
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);
      if (iVar4 == 0) {
        if (!bVar2) {
          mode->c_iflag = mode->c_iflag & 0xfffffeff;
          mode->c_oflag = mode->c_oflag & 0xfffffffb;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;
        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;
        goto LAB_00015240;
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);
      if (iVar4 == 0) {
        mode->c_cc[2] = '\x7f';
        mode->c_cc[3] = '\x15';
        *require_set_attr = true;
        goto LAB_00014ae0;
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);
      if (iVar4 != 0) {
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);
        if (iVar4 == 0) {
          uVar11 = mode->c_lflag;
          if (!bVar2) goto LAB_00015634;
          mode->c_lflag = uVar11 | 2;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);
        if (iVar4 == 0) {
          uVar11 = mode->c_cflag & 0xfffffecf;
          if (!bVar2) {
            mode->c_iflag = mode->c_iflag & 0xffffffdf;
            mode->c_cflag = uVar11 | 0x30;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_iflag = mode->c_iflag | 0x20;
          mode->c_cflag = uVar11 | 0x120;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);
        if (iVar4 == 0) {
          uVar11 = mode->c_cflag & 0xfffffecf;
          if (!bVar2) {
            mode->c_cflag = uVar11 | 0x30;
            mode->c_iflag = mode->c_iflag & 0xffffffdf;
            mode->c_oflag = mode->c_oflag & 0xfffffffe;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_oflag = mode->c_oflag | 1;
          mode->c_cflag = uVar11 | 0x120;
          mode->c_iflag = mode->c_iflag | 0x20;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))
        {
          if (*pcVar17 == 'r') {
            if (bVar2) goto LAB_000159a8;
          }
          else if ((*pcVar17 == 'c') && (!bVar2)) {
LAB_000159a8:
            mode->c_oflag = mode->c_oflag | 1;
            mode->c_lflag = mode->c_lflag | 3;
            mode->c_iflag = mode->c_iflag | 0x526;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          uVar15 = mode->c_oflag;
          uVar11 = mode->c_lflag;
          mode->c_iflag = 0;
          mode->c_cc[5] = '\0';
          mode->c_oflag = uVar15 & 0xfffffffe;
          mode->c_cc[4] = '\x01';
          mode->c_lflag = uVar11 & 0xfffffff8;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);
        if (iVar4 == 0) {
          if (!bVar2) {
            mode->c_iflag = mode->c_iflag & 0xfffff7ff;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_iflag = mode->c_iflag | 0x800;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);
        if (iVar4 == 0) {
          if (!bVar2) {
            mode->c_oflag = mode->c_oflag & 0xffffe7ff;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_oflag = mode->c_oflag | 0x1800;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))
        {
          if (bVar2) {
            mode->c_lflag = mode->c_lflag & 0xfffffffb;
            mode->c_iflag = mode->c_iflag & 0xfffffdff;
            mode->c_oflag = mode->c_oflag & 0xfffffffd;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_lflag = mode->c_lflag | 4;
          mode->c_iflag = mode->c_iflag | 0x200;
          mode->c_oflag = mode->c_oflag | 2;
        }
        else {
          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);
          if (iVar4 == 0) {
            mode->c_lflag = mode->c_lflag | 0xa10;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);
          if (iVar4 == 0) {
            uVar15 = mode->c_lflag;
            uVar11 = mode->c_iflag;
            mode->c_cc[0] = '\x03';
            mode->c_cc[2] = '\x7f';
            mode->c_lflag = uVar15 | 0xa10;
            mode->c_cc[3] = '\x15';
            mode->c_iflag = uVar11 & 0xfffff7ff;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
        }
        goto LAB_00015240;
      }
      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);
      while (*piVar12 != 0) {
        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);
        piVar12 = piVar12 + 3;
      }
      do {
        while( true ) {
          if (*piVar19 == 0) goto LAB_00015240;
          bVar13 = *(byte *)(piVar19 + 2);
          if ((bVar13 & 0x10) == 0) break;
LAB_00015734:
          piVar19 = piVar19 + 5;
        }
        if ((bVar13 & 1) != 0) {
          ptVar7 = mode_type_flag(piVar19[1],mode);
          if (ptVar7 == (tcflag_t *)0x0) {
            uVar9 = 0x8cb;
            goto LAB_00015808;
          }
          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];
          goto LAB_00015734;
        }
        if ((bVar13 & 2) == 0) goto LAB_00015734;
        ptVar7 = mode_type_flag(piVar19[1],mode);
        if (ptVar7 == (tcflag_t *)0x0) {
          uVar9 = 0x8d1;
LAB_00015808:
          (*(code *)PTR___assert_fail_000311f4)
                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,
                     PTR_DAT_00031108 + -0x1a4c);
          return;
        }
        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);
        piVar19 = piVar19 + 5;
      } while( true );
    }
    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;
  }
  unaff_s0 = unaff_s0 + 1;
  goto joined_r0x00014b3c;
LAB_00014ca0:
  iVar4 = 0;
  if (bVar2) {
LAB_00015140:
    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);
    pcVar27 = pcVar27 + -1;
    goto LAB_000153f8;
  }
  puVar23 = PTR_DAT_00031108 + -0x20ac;
  puVar22 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);
  do {
    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);
    puVar3 = PTR_DAT_000310f8;
    if (iVar5 == 0) {
      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))
      {
        iVar8 = unaff_s0 + 1;
        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);
        if ((iVar5 != 0) &&
           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))
        {
          bVar13 = *pbVar21;
          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;
          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);
          if ((iVar5 == 0) ||
             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0
             )) {
            bVar13 = 0;
            goto LAB_00014d64;
          }
          if (bVar13 == 0x5e) {
            if (bVar1 == 0x3f) {
              bVar13 = 0x7f;
            }
            else {
              bVar13 = bVar1 & 0x9f;
            }
            goto LAB_00014d64;
          }
        }
        bVar13 = (*local_54)(pbVar21,0xff);
LAB_00014d64:
        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;
        *require_set_attr = true;
        goto LAB_00014ae0;
      }
      goto LAB_000153d8;
    }
    puVar23 = (undefined *)*puVar22;
    iVar4 = iVar4 + 1;
    puVar22 = puVar22 + 3;
  } while (puVar23 != (undefined *)0x0);
LAB_00014c1c:
  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec);
  if (iVar4 == 0) {
    if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;
    iVar8 = unaff_s0 + 1;
    if (iVar16 != 0) goto LAB_00014ae0;
    sVar6 = string_to_baud(ppcVar20[1]);
    pcVar26 = (code *)PTR_cfsetispeed_00031268;
LAB_00014c78:
    unaff_s0 = unaff_s0 + 1;
  }
  else {
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);
    if (iVar4 == 0) {
      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;
      iVar8 = unaff_s0 + 1;
      if (iVar16 != 0) goto LAB_00014ae0;
      sVar6 = string_to_baud(ppcVar20[1]);
      pcVar26 = (code *)PTR_cfsetospeed_000312d0;
      goto LAB_00014c78;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);
    if (iVar4 == 0) {
      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {
        iVar8 = unaff_s0 + 1;
        if (iVar16 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);
        (*local_48)(uVar9,0xffffffff,device_name);
        goto LAB_00014ae0;
      }
LAB_000153d8:
      puVar18 = PTR_DAT_00031108 + -0x201c;
      goto LAB_000153e8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);
    if ((iVar4 == 0) ||
       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {
      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {
        iVar8 = unaff_s0 + 1;
        if (iVar16 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);
        (*local_48)(0xffffffff,uVar9,device_name);
        goto LAB_00014ae0;
      }
      goto LAB_000153d8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);
    if (iVar4 == 0) {
      if (iVar16 != 0) goto LAB_00014ae0;
      unaff_s0 = unaff_s0 + 1;
      iVar8 = screen_columns();
      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;
      display_window_size(false,device_name);
      goto joined_r0x00014b3c;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);
    if (iVar4 == 0) {
      if (n_settings + -1 != unaff_s0) {
        iVar8 = unaff_s0 + 1;
        pcVar17 = settings[iVar8];
        if (pcVar17 != (char *)0x0) {
          unaff_s0 = unaff_s0 + 1;
          uVar11 = (*local_54)(pcVar17,0xffffffff);
          mode->c_line = (cc_t)uVar11;
          if (uVar11 != (uVar11 & 0xff)) {
            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);
            pcVar27 = quote(settings[iVar8]);
            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);
          }
          goto LAB_00015240;
        }
      }
      goto LAB_000153d8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);
    if (iVar4 == 0) {
      if (iVar16 != 0) goto LAB_00014ae0;
      unaff_s0 = unaff_s0 + 1;
      iVar8 = screen_columns();
      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;
      display_speed(mode,false);
      goto joined_r0x00014b3c;
    }
    sVar6 = string_to_baud(pcVar27);
    if (sVar6 == 0xffffffff) {
      ptVar7 = flag;
      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();
      pcVar17 = pcVar27;
      goto LAB_0001550c;
    }
    if (iVar16 != 0) goto LAB_00014ae0;
    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);
    pcVar26 = (code *)PTR_cfsetospeed_000312d0;
  }
  unaff_s0 = unaff_s0 + 1;
  (*pcVar26)(mode,sVar6);
  *speed_was_set = true;
  *require_set_attr = true;
joined_r0x00014b3c:
  while (unaff_s4 = settings, n_settings <= unaff_s0) {
LAB_00014b48:
    settings = unaff_s4;
    if (local_2c == *(tcflag_t *)puVar18) {
      return;
    }
    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();
LAB_00015634:
    mode->c_lflag = uVar11 & 0xfffffffd;
    *require_set_attr = true;
    iVar8 = unaff_s0;
LAB_00014ae0:
    unaff_s0 = iVar8 + 1;
  }
  goto LAB_00014af0;
  while( true ) {
    *ptVar7 = tVar10;
    ptVar7 = ptVar7 + 1;
    pcVar17 = p + 1;
    if (ptVar7 == &local_2c) break;
LAB_0001550c:
    puVar23 = PTR_strtoul_0003127c;
    *piVar19 = 0;
    tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);
    if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;
  }
  mode->c_iflag = flag[0];
  mode->c_oflag = flag[1];
  mode->c_cflag = flag[2];
  mode->c_lflag = flag[3];
  ptVar25 = mode;
  while( true ) {
    puVar23 = PTR_strtoul_0003127c;
    *piVar19 = 0;
    cVar14 = ':';
    if ((int)ptVar25 - (int)mode == 0x1f) {
      cVar14 = '\0';
    }
    uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);
    if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))
    break;
    ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);
    ptVar25->c_cc[0] = (cc_t)uVar11;
    pcVar17 = p + 1;
    ptVar25 = ptVar24;
    if ((termios *)(mode->c_cc + 0xf) == ptVar24) {
LAB_00015240:
      *require_set_attr = true;
      iVar8 = unaff_s0;
      goto LAB_00014ae0;
    }
  }
LAB_00015614:
  puVar18 = PTR_DAT_00031108 + -0x2030;
LAB_000153e8:
  uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5);
LAB_000153f8:
  pcVar27 = quote(pcVar27);
  (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);
                    /* WARNING: Subroutine does not return */
  usage(1);
}



void FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,
                 undefined1 *param_6,undefined1 *param_7)

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  byte bVar12;
  uint *puVar6;
  undefined4 uVar7;
  int iVar8;
  undefined4 uVar9;
  char cVar13;
  uint uVar10;
  int *piVar11;
  undefined *puVar14;
  int *piVar15;
  int unaff_s0;
  char *pcVar16;
  byte *pbVar17;
  char *pcVar18;
  int unaff_s4;
  undefined4 *puVar19;
  uint *puVar20;
  char *pcVar21;
  code *pcVar22;
  char *pcVar23;
  undefined *local_6c;
  char *local_68;
  undefined *local_5c;
  code *local_54;
  code *local_48;
  char *local_40;
  uint local_3c [4];
  uint local_2c;
  
  puVar3 = PTR___stack_chk_guard_000312dc;
  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;
  if (param_4 < 2) goto LAB_00014b48;
  unaff_s0 = 1;
  local_6c = PTR_DAT_000310f8;
  local_68 = PTR_DAT_00031108 + -0x20b4;
  local_5c = PTR_DAT_00031108;
  local_54 = (code *)(PTR_00031104 + 0x3234);
  local_48 = (code *)(PTR_00031104 + 0x33ac);
LAB_00014af0:
  pcVar18 = (char *)(unaff_s0 * 4);
  pcVar16 = pcVar18 + param_3;
  pcVar23 = *(char **)pcVar16;
  iVar8 = unaff_s0;
  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;
  if (*pcVar23 == '-') {
    pcVar23 = pcVar23 + 1;
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);
    if (iVar4 != 0) {
      bVar2 = true;
      goto LAB_00014bb8;
    }
    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;
  }
  else {
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);
    if (iVar4 != 0) {
      bVar2 = false;
LAB_00014bb8:
      iVar4 = 0;
      puVar19 = (undefined4 *)(local_6c + 0x8f4);
      pcVar21 = local_68;
      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {
        pcVar21 = (char *)*puVar19;
        iVar4 = iVar4 + 1;
        puVar19 = puVar19 + 5;
        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;
      }
      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);
      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;
      pcVar18 = (char *)0x14;
      if (bVar2) {
        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {
          *param_7 = 1;
          goto LAB_00015140;
        }
        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);
        if (puVar6 != (uint *)0x0) {
          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);
        if (((iVar4 == 0) ||
            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)
            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),
                 iVar4 == 0)) {
          param_5[2] = param_5[2] & 0xfffffecf | 0x30;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
      }
      else {
        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);
        if (puVar6 != (uint *)0x0) {
          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))
        {
          param_5[2] = param_5[2] & 0xfffffccf | 0x120;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);
        if (iVar4 == 0) {
          param_5[2] = param_5[2] & 0xfffffccf | 800;
          goto LAB_00015240;
        }
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);
      if (iVar4 == 0) {
        if (!bVar2) {
          *param_5 = *param_5 & 0xfffffeff;
          param_5[1] = param_5[1] & 0xfffffffb;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        *param_5 = *param_5 & 0xfffffe3f | 0x100;
        param_5[1] = param_5[1] & 0xffffffd3 | 4;
        goto LAB_00015240;
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);
      if (iVar4 == 0) {
        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;
        *(undefined1 *)(param_5 + 5) = 0x15;
        *param_7 = 1;
        goto LAB_00014ae0;
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);
      if (iVar4 != 0) {
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);
        if (iVar4 == 0) {
          uVar10 = param_5[3];
          if (!bVar2) goto LAB_00015634;
          param_5[3] = uVar10 | 2;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);
        if (iVar4 == 0) {
          if (!bVar2) {
            *param_5 = *param_5 & 0xffffffdf;
            param_5[2] = param_5[2] & 0xfffffecf | 0x30;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          *param_5 = *param_5 | 0x20;
          param_5[2] = param_5[2] & 0xfffffecf | 0x120;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);
        if (iVar4 == 0) {
          if (!bVar2) {
            param_5[2] = param_5[2] & 0xfffffecf | 0x30;
            *param_5 = *param_5 & 0xffffffdf;
            param_5[1] = param_5[1] & 0xfffffffe;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          param_5[1] = param_5[1] | 1;
          param_5[2] = param_5[2] & 0xfffffecf | 0x120;
          *param_5 = *param_5 | 0x20;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))
        {
          if (*pcVar21 == 'r') {
            if (bVar2) goto LAB_000159a8;
          }
          else if ((*pcVar21 == 'c') && (!bVar2)) {
LAB_000159a8:
            param_5[1] = param_5[1] | 1;
            param_5[3] = param_5[3] | 3;
            *param_5 = *param_5 | 0x526;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          *param_5 = 0;
          *(undefined1 *)((int)param_5 + 0x16) = 0;
          param_5[1] = param_5[1] & 0xfffffffe;
          *(undefined1 *)((int)param_5 + 0x15) = 1;
          param_5[3] = param_5[3] & 0xfffffff8;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);
        if (iVar4 == 0) {
          if (!bVar2) {
            *param_5 = *param_5 & 0xfffff7ff;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          *param_5 = *param_5 | 0x800;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);
        if (iVar4 == 0) {
          if (!bVar2) {
            param_5[1] = param_5[1] & 0xffffe7ff;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          param_5[1] = param_5[1] | 0x1800;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))
        {
          if (bVar2) {
            param_5[3] = param_5[3] & 0xfffffffb;
            *param_5 = *param_5 & 0xfffffdff;
            param_5[1] = param_5[1] & 0xfffffffd;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          param_5[3] = param_5[3] | 4;
          *param_5 = *param_5 | 0x200;
          param_5[1] = param_5[1] | 2;
        }
        else {
          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);
          if (iVar4 == 0) {
            param_5[3] = param_5[3] | 0xa10;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);
          if (iVar4 == 0) {
            *(undefined1 *)((int)param_5 + 0x11) = 3;
            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;
            param_5[3] = param_5[3] | 0xa10;
            *(undefined1 *)(param_5 + 5) = 0x15;
            *param_5 = *param_5 & 0xfffff7ff;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
        }
        goto LAB_00015240;
      }
      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);
      while (*piVar11 != 0) {
        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);
        piVar11 = piVar11 + 3;
      }
      do {
        while( true ) {
          if (*piVar15 == 0) goto LAB_00015240;
          bVar12 = *(byte *)(piVar15 + 2);
          if ((bVar12 & 0x10) == 0) break;
LAB_00015734:
          piVar15 = piVar15 + 5;
        }
        if ((bVar12 & 1) != 0) {
          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);
          if (puVar6 == (uint *)0x0) {
            uVar9 = 0x8cb;
            goto LAB_00015808;
          }
          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];
          goto LAB_00015734;
        }
        if ((bVar12 & 2) == 0) goto LAB_00015734;
        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);
        if (puVar6 == (uint *)0x0) {
          uVar9 = 0x8d1;
LAB_00015808:
          (*(code *)PTR___assert_fail_000311f4)
                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,
                     PTR_DAT_00031108 + -0x1a4c);
          return;
        }
        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);
        piVar15 = piVar15 + 5;
      } while( true );
    }
    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;
  }
  unaff_s0 = unaff_s0 + 1;
  goto joined_r0x00014b3c;
LAB_00014ca0:
  iVar4 = 0;
  if (bVar2) {
LAB_00015140:
    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);
    pcVar23 = pcVar23 + -1;
    goto LAB_000153f8;
  }
  puVar14 = PTR_DAT_00031108 + -0x20ac;
  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);
  do {
    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);
    if (iVar5 == 0) {
      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))
      goto LAB_000153d8;
      iVar8 = unaff_s0 + 1;
      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;
      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);
      if ((iVar4 != 0) &&
         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {
        bVar12 = *pbVar17;
        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))
        {
          bVar12 = 0;
          goto LAB_00014d64;
        }
        if (bVar12 == 0x5e) {
          if (bVar1 == 0x3f) goto LAB_00015430;
          bVar12 = bVar1 & 0x9f;
          goto LAB_00014d64;
        }
      }
      bVar12 = (*local_54)(pbVar17,0xff);
      goto LAB_00014d64;
    }
    puVar14 = (undefined *)*puVar19;
    iVar4 = iVar4 + 1;
    puVar19 = puVar19 + 3;
  } while (puVar14 != (undefined *)0x0);
LAB_00014c1c:
  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);
  if (iVar4 == 0) {
    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;
    iVar8 = unaff_s0 + 1;
    if (param_1 != 0) goto LAB_00014ae0;
    iVar4 = FUN_00012c40();
    pcVar22 = (code *)PTR_cfsetispeed_00031268;
LAB_00014c78:
    unaff_s0 = unaff_s0 + 1;
  }
  else {
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);
    if (iVar4 == 0) {
      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;
      iVar8 = unaff_s0 + 1;
      if (param_1 != 0) goto LAB_00014ae0;
      iVar4 = FUN_00012c40();
      pcVar22 = (code *)PTR_cfsetospeed_000312d0;
      goto LAB_00014c78;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);
    if (iVar4 == 0) {
      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {
        iVar8 = unaff_s0 + 1;
        if (param_1 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);
        (*local_48)(uVar9,0xffffffff,param_2);
        goto LAB_00014ae0;
      }
LAB_000153d8:
      puVar14 = PTR_DAT_00031108 + -0x201c;
      goto LAB_000153e8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);
    if ((iVar4 == 0) ||
       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {
      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {
        iVar8 = unaff_s0 + 1;
        if (param_1 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);
        (*local_48)(0xffffffff,uVar9,param_2);
        goto LAB_00014ae0;
      }
      goto LAB_000153d8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);
    if (iVar4 == 0) {
      if (param_1 != 0) goto LAB_00014ae0;
      unaff_s0 = unaff_s0 + 1;
      uVar9 = FUN_00012cf4();
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;
      FUN_0001352c(0,param_2);
      goto joined_r0x00014b3c;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);
    if (iVar4 == 0) {
      if (param_4 + -1 != unaff_s0) {
        iVar8 = *(int *)(pcVar18 + param_3 + 4);
        if (iVar8 != 0) {
          unaff_s0 = unaff_s0 + 1;
          uVar10 = (*local_54)(iVar8,0xffffffff);
          *(char *)(param_5 + 4) = (char)uVar10;
          if (uVar10 != (uVar10 & 0xff)) {
            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);
            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));
            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);
          }
          goto LAB_00015240;
        }
      }
      goto LAB_000153d8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);
    if (iVar4 == 0) {
      if (param_1 != 0) goto LAB_00014ae0;
      unaff_s0 = unaff_s0 + 1;
      uVar9 = FUN_00012cf4();
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;
      FUN_00012ff4(param_5,0);
      goto joined_r0x00014b3c;
    }
    iVar4 = FUN_00012c40(pcVar23);
    if (iVar4 == -1) {
      puVar6 = local_3c;
      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();
      pcVar18 = pcVar23;
      goto LAB_0001550c;
    }
    if (param_1 != 0) goto LAB_00014ae0;
    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);
    pcVar22 = (code *)PTR_cfsetospeed_000312d0;
  }
  unaff_s0 = unaff_s0 + 1;
  (*pcVar22)(param_5,iVar4);
  *param_6 = 1;
  *param_7 = 1;
joined_r0x00014b3c:
  while (unaff_s4 = param_3, param_4 <= unaff_s0) {
LAB_00014b48:
    param_3 = unaff_s4;
    if (local_2c == *(uint *)puVar3) {
      return;
    }
    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();
LAB_00015634:
    param_5[3] = uVar10 & 0xfffffffd;
    *param_7 = 1;
    iVar8 = unaff_s0;
LAB_00014ae0:
    unaff_s0 = iVar8 + 1;
  }
  goto LAB_00014af0;
  while( true ) {
    *puVar6 = uVar10;
    puVar6 = puVar6 + 1;
    pcVar18 = local_40 + 1;
    if (puVar6 == &local_2c) break;
LAB_0001550c:
    puVar14 = PTR_strtoul_0003127c;
    *piVar15 = 0;
    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);
    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;
  }
  *param_5 = local_3c[0];
  param_5[1] = local_3c[1];
  param_5[2] = local_3c[2];
  param_5[3] = local_3c[3];
  puVar6 = param_5;
  while( true ) {
    puVar14 = PTR_strtoul_0003127c;
    *piVar15 = 0;
    cVar13 = ':';
    if ((int)puVar6 - (int)param_5 == 0x1f) {
      cVar13 = '\0';
    }
    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);
    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||
       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;
    puVar20 = (uint *)((int)puVar6 + 1);
    *(char *)((int)puVar6 + 0x11) = (char)uVar10;
    pcVar18 = local_40 + 1;
    puVar6 = puVar20;
    if (param_5 + 8 == puVar20) {
LAB_00015240:
      *param_7 = 1;
      iVar8 = unaff_s0;
      goto LAB_00014ae0;
    }
  }
LAB_00015614:
  puVar14 = PTR_DAT_00031108 + -0x2030;
LAB_000153e8:
  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);
LAB_000153f8:
  uVar9 = quote(pcVar23);
  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);
  usage(1);
LAB_00015430:
  bVar12 = 0x7f;
LAB_00014d64:
  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;
  *param_7 = 1;
  goto LAB_00014ae0;
}


lui gp,0x2
addiu gp,gp,0x46a8
addu gp,gp,t9
addiu sp,sp,-0x88
lw v1,-0x7df4(gp)
slti v0,a3,0x2
sw a0,0x88(sp)
sw s3,0x6c(sp)
or s3,a3,zero
sw v1,0x38(sp)
lw a0,0x9c(sp)
lw a3,0x98(sp)
lw v1,0x0(v1)
sw a0,0x30(sp)
sw gp,0x10(sp)
sw ra,0x84(sp)
sw s8,0x80(sp)
sw s7,0x7c(sp)
sw s6,0x78(sp)
sw s5,0x74(sp)
sw s4,0x70(sp)
sw s2,0x68(sp)
sw s1,0x64(sp)
sw s0,0x60(sp)
sw a3,0x24(sp)
sw a1,0x3c(sp)
sw v1,0x5c(sp)
lw a0,0xa0(sp)
bne v0,zero,0x00014b44
_sw a0,0x28(sp)
lw v0,-0x7fd8(gp)
or s4,a2,zero
lw s7,-0x7fc8(gp)
li s0,0x1
sw v0,0x1c(sp)
addiu v0,s7,-0x20b4
sw v0,0x20(sp)
lw v0,-0x7fc8(gp)
sw v0,0x2c(sp)
lw v0,-0x7fcc(gp)
addiu v0,v0,0x3234
sw v0,0x34(sp)
lw v0,-0x7fcc(gp)
addiu v0,v0,0x33ac
b 0x00014af0
_sw v0,0x40(sp)
addiu s0,s0,0x1
slt v0,s0,s3
beq v0,zero,0x00014b48
_lw v0,0x38(sp)
sll s2,s0,0x2
addu s1,s4,s2
lw s8,0x0(s1)
beq s8,zero,0x00014ae0
_li v0,0x2d
lb a0,0x0(s8)
beq a0,v0,0x00014b84
_or a0,s8,zero
lw a1,-0x7fc8(gp)
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x20a4
bne v0,zero,0x00014bb4
_lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
li v1,0x540f
sw v1,0x1048(v0)
addiu s0,s0,0x1
slt v0,s0,s3
bne v0,zero,0x00014af0
_nop
lw v0,0x38(sp)
lw v1,0x5c(sp)
lw v0,0x0(v0)
bne v1,v0,0x00015628
_lw ra,0x84(sp)
lw s8,0x80(sp)
lw s7,0x7c(sp)
lw s6,0x78(sp)
lw s5,0x74(sp)
lw s4,0x70(sp)
lw s3,0x6c(sp)
lw s2,0x68(sp)
lw s1,0x64(sp)
lw s0,0x60(sp)
jr ra
_addiu sp,sp,0x88
lw a1,-0x7fc8(gp)
addiu s8,s8,0x1
lw t9,-0x7dd4(gp)
or a0,s8,zero
jalr t9
_addiu a1,a1,-0x20a4
bne v0,zero,0x00014de4
_lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
li v1,0x540e
b 0x00014b34
_sw v1,0x1048(v0)
sw zero,0x18(sp)
lw v0,0x1c(sp)
or s6,zero,zero
lw s7,0x20(sp)
b 0x00014bdc
_addiu s5,v0,0x8f4
addiu s5,s5,0x14
lw s7,-0x14(s5)
beq s7,zero,0x00014ca0
_addiu s6,s6,0x1
lw t9,-0x7dd4(gp)
or a1,s7,zero
jalr t9
_or a0,s8,zero
bne v0,zero,0x00014bcc
_lw gp,0x10(sp)
sll v0,s6,0x2
lw a0,-0x7fd8(gp)
addu v0,v0,s6
addiu a3,a0,0x8e0
sll v0,v0,0x2
addu v0,v0,a3
lbu v0,0x8(v0)
andi a0,v0,0x10
beq a0,zero,0x00014e5c
_lw v1,0x18(sp)
lw v0,0x2c(sp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,v0,-0x1fec
bne v0,zero,0x00014d84
_lw gp,0x10(sp)
addiu v0,s3,-0x1
beq v0,s0,0x000153d4
_nop
lw a0,0x4(s1)
beq a0,zero,0x000153d4
_nop
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_addiu s0,s0,0x1
lw t9,-0x7fcc(gp)
addiu t9,t9,0x2c40
bal 0x00012c40
_nop
lw gp,0x10(sp)
lw a0,0x24(sp)
lw t9,-0x7e68(gp)
or a1,v0,zero
jalr t9
_addiu s0,s0,0x1
li v0,0x1
lw v1,0x30(sp)
lw gp,0x10(sp)
sb v0,0x0(v1)
lw v1,0x28(sp)
b 0x00014ae4
_sb v0,0x0(v1)
lw v0,0x18(sp)
bne v0,zero,0x00015140
_or s6,zero,zero
lw a2,-0x7fd8(gp)
lw s5,-0x7fc8(gp)
addiu s7,a2,0x808
b 0x00014cd0
_addiu s5,s5,-0x20ac
addiu s7,s7,0xc
lw s5,-0xc(s7)
beq s5,zero,0x00014c1c
_addiu s6,s6,0x1
lw t9,-0x7dd4(gp)
or a1,s5,zero
jalr t9
_or a0,s8,zero
bne v0,zero,0x00014cc0
_lw gp,0x10(sp)
addiu v0,s3,-0x1
beq v0,s0,0x000153d8
_lw a1,-0x7fc8(gp)
lw s1,0x4(s1)
beq s1,zero,0x000153d4
_lw a1,-0x7fc8(gp)
sll s2,s6,0x1
lw v0,-0x7fd8(gp)
or a0,s5,zero
addu s2,s2,s6
lw t9,-0x7dd4(gp)
addiu a1,a1,-0x2004
addiu v0,v0,0x7fc
sll s2,s2,0x2
addiu s0,s0,0x1
jalr t9
_addu s2,v0,s2
beq v0,zero,0x00014d50
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s5,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2000
bne v0,zero,0x0001500c
_lw gp,0x10(sp)
lw t9,0x34(sp)
li a1,0xff
jalr t9
_or a0,s1,zero
lw gp,0x10(sp)
lw v1,0x8(s2)
lw a0,0x24(sp)
addu v1,a0,v1
sb v0,0x11(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1fe4
bne v0,zero,0x00014df0
_lw gp,0x10(sp)
addiu v0,s3,-0x1
beq v0,s0,0x000153d4
_nop
lw a0,0x4(s1)
beq a0,zero,0x000153d4
_nop
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_addiu s0,s0,0x1
lw t9,-0x7fcc(gp)
addiu t9,t9,0x2c40
bal 0x00012c40
_nop
lw gp,0x10(sp)
lw a0,0x24(sp)
b 0x00014c78
_lw t9,-0x7e00(gp)
li v0,0x1
b 0x00014bb8
_sw v0,0x18(sp)
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1fdc
bne v0,zero,0x00014ec8
_lw gp,0x10(sp)
addiu v0,s3,-0x1
beq v0,s0,0x000153d4
_nop
lw a0,0x4(s1)
beq a0,zero,0x000153d4
_nop
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_addiu s0,s0,0x1
lw t9,0x34(sp)
lui a1,0x7fff
jalr t9
_ori a1,a1,0xffff
li a1,-0x1
lw a2,0x3c(sp)
lw t9,0x40(sp)
jalr t9
_or a0,v0,zero
b 0x00014ae0
_lw gp,0x10(sp)
beq v1,zero,0x00014f34
_li s2,0x14
andi v0,v0,0x4
beq v0,zero,0x00015138
_lw v1,0x28(sp)
lw s1,-0x7fcc(gp)
lw a1,0x24(sp)
mul v0,s6,s2
sw a3,0x44(sp)
addiu s1,s1,0x2dc8
or t9,s1,zero
addu s2,v0,a3
bal 0x00012dc8
_lw a0,0x4(s2)
lw gp,0x10(sp)
beq v0,zero,0x000152f0
_lw a3,0x44(sp)
lw a0,0x10(s2)
lw a1,0xc(s2)
lw v1,0x0(v0)
nor a0,a0,a1
and v1,v1,a0
sw v1,0x0(v0)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1fd4
bne v0,zero,0x00014f8c
_lw gp,0x10(sp)
addiu v0,s3,-0x1
beq v0,s0,0x000153d4
_nop
lw a0,0x4(s1)
beq a0,zero,0x000153d4
_nop
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_addiu s0,s0,0x1
lw t9,0x34(sp)
lui a1,0x7fff
jalr t9
_ori a1,a1,0xffff
li a0,-0x1
lw a2,0x3c(sp)
lw t9,0x40(sp)
jalr t9
_or a1,v0,zero
b 0x00014ae0
_lw gp,0x10(sp)
lw s1,-0x7fcc(gp)
lw a1,0x24(sp)
mul v0,s6,s2
sw a3,0x44(sp)
addiu s1,s1,0x2dc8
or t9,s1,zero
addu s2,v0,a3
bal 0x00012dc8
_lw a0,0x4(s2)
beq v0,zero,0x00015074
_lw gp,0x10(sp)
lw v1,0x10(s2)
lw a1,0x0(v0)
lw a0,0xc(s2)
nor v1,zero,v1
and v1,v1,a1
or v1,v1,a0
sw v1,0x0(v0)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1fcc
beq v0,zero,0x00014ee4
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1fc4
bne v0,zero,0x00015194
_lw gp,0x10(sp)
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_lw t9,-0x7fcc(gp)
addiu t9,t9,0x2cf4
bal 0x00012cf4
_addiu s0,s0,0x1
or a0,zero,zero
lw gp,0x10(sp)
lw a1,0x3c(sp)
lw v1,-0x7fd8(gp)
lw t9,-0x7fcc(gp)
sw v0,0x13cc(v1)
addiu t9,t9,0x352c
lw v0,-0x7fd8(gp)
bal 0x0001352c
_sw zero,0x13c8(v0)
b 0x00014ae4
_lw gp,0x10(sp)
lb s6,0x0(s1)
beq s6,zero,0x00014d64
_andi v0,s6,0xff
lb s5,0x1(s1)
beq s5,zero,0x00014d64
_lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1ff8
beq v0,zero,0x0001518c
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s1,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1ff4
beq v0,zero,0x0001518c
_lw gp,0x10(sp)
li v0,0x5e
bne s6,v0,0x00014d50
_li v0,0x3f
beq s5,v0,0x00015430
_nop
b 0x00014d64
_andi v0,s5,0x9f
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1f90
lw gp,0x10(sp)
beq v0,zero,0x00015164
_lw a3,0x44(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x1f88
lw gp,0x10(sp)
beq v0,zero,0x00015164
_lw a3,0x44(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x1f80
lw gp,0x10(sp)
beq v0,zero,0x0001538c
_lw a3,0x44(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x1ac0
lw gp,0x10(sp)
bne v0,zero,0x000152a8
_lw a3,0x44(sp)
lw a1,0x24(sp)
lw a0,0x18(sp)
lw v0,0x4(a1)
beq a0,zero,0x000153a8
_lw v1,0x0(a1)
li a0,-0x1c1
and v1,v1,a0
li a0,-0x2d
ori v1,v1,0x100
and v0,v0,a0
sw v1,0x0(a1)
ori v0,v0,0x4
b 0x0001523c
_sw v0,0x4(a1)
li v0,0x1
sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,zero,zero
lw t9,-0x7e08(gp)
li a2,0x5
jalr t9
_addiu a1,a1,-0x2030
addiu a0,s8,-0x1
b 0x000153f8
_lw gp,0x10(sp)
lw a0,0x24(sp)
li v0,-0x331
lw v1,0x8(a0)
and v0,v0,v1
lw v1,0x28(sp)
ori v0,v0,0x120
sw v0,0x8(a0)
li v0,0x1
b 0x00014ae0
_sb v0,0x0(v1)
b 0x00014d64
_or v0,zero,zero
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1fbc
bne v0,zero,0x0001524c
_lw gp,0x10(sp)
addiu v0,s3,-0x1
beq v0,s0,0x000153d8
_lw a1,-0x7fc8(gp)
addiu s1,s2,0x4
addu s1,s4,s1
lw a0,0x0(s1)
beq a0,zero,0x000153d8
_lw t9,0x34(sp)
li a1,-0x1
jalr t9
_addiu s0,s0,0x1
lw a0,0x24(sp)
andi v1,v0,0xff
lw gp,0x10(sp)
beq v0,v1,0x0001523c
_sb v0,0x10(a0)
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7e08(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0x1fb4
lw gp,0x10(sp)
lw a0,0x0(s1)
lw t9,-0x7fb0(gp)
bal 0x000182a0
_or s1,v0,zero
or a1,zero,zero
lw gp,0x10(sp)
or a0,zero,zero
or a3,v0,zero
lw t9,-0x7e38(gp)
jalr t9
_or a2,s1,zero
lw gp,0x10(sp)
lw v1,0x28(sp)
li v0,0x1
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s8,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x1f98
bne v0,zero,0x0001533c
_lw gp,0x10(sp)
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_lw t9,-0x7fcc(gp)
addiu t9,t9,0x2cf4
bal 0x00012cf4
_addiu s0,s0,0x1
or a1,zero,zero
lw gp,0x10(sp)
lw a0,0x24(sp)
lw v1,-0x7fd8(gp)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x2ff4
bal 0x00012ff4
_sw v0,0x13cc(v1)
b 0x00014ae4
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x209c
lw gp,0x10(sp)
bne v0,zero,0x00015484
_lw a3,0x44(sp)
lw v1,0x24(sp)
li v0,0x7f
sb v0,0x13(v1)
li v0,0x15
sb v0,0x14(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x1f90
lw gp,0x10(sp)
bne v0,zero,0x00015438
_lw a3,0x44(sp)
lw a0,0x24(sp)
li v0,-0x131
lw v1,0x8(a0)
and v0,v0,v1
lw v1,0x28(sp)
ori v0,v0,0x30
sw v0,0x8(a0)
li v0,0x1
b 0x00014ae0
_sb v0,0x0(v1)
lw t9,-0x7fcc(gp)
addiu t9,t9,0x2c40
bal 0x00012c40
_or a0,s8,zero
li a0,-0x1
lw gp,0x10(sp)
beq v0,a0,0x000154ec
_or s1,v0,zero
lw v0,0x88(sp)
bne v0,zero,0x00014ae0
_lw s2,0x24(sp)
or a1,s1,zero
lw t9,-0x7e68(gp)
jalr t9
_or a0,s2,zero
or a1,s1,zero
lw gp,0x10(sp)
or a0,s2,zero
b 0x00014c7c
_lw t9,-0x7e00(gp)
lw a0,0x24(sp)
li v0,-0x331
lw v1,0x8(a0)
and v0,v0,v1
ori v0,v0,0x320
b 0x0001523c
_sw v0,0x8(a0)
li a0,-0x101
and v1,v1,a0
li a0,-0x5
and v0,v0,a0
lw a0,0x24(sp)
sw v1,0x0(a0)
sw v0,0x4(a0)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7e08(gp)
or a0,zero,zero
addiu a1,a1,-0x201c
jalr t9
_nop
or a0,s8,zero
lw gp,0x10(sp)
lw t9,-0x7fb0(gp)
bal 0x000182a0
_or s0,v0,zero
or a0,zero,zero
lw gp,0x10(sp)
or a1,zero,zero
or a3,v0,zero
lw t9,-0x7e38(gp)
jalr t9
_or a2,s0,zero
lw gp,0x10(sp)
lw t9,-0x7fac(gp)
bal 0x000136b0
_li a0,0x1
b 0x00014d64
_li v0,0x7f
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x1f88
lw gp,0x10(sp)
beq v0,zero,0x00015314
_lw a3,0x44(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x1f80
beq v0,zero,0x00015314
_lw gp,0x10(sp)
b 0x000150dc
_lw a3,0x44(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
sw a3,0x44(sp)
jalr t9
_addiu a1,a1,-0x2098
lw gp,0x10(sp)
beq v0,zero,0x000156ac
_lw a3,0x44(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x207c
bne v0,zero,0x00015654
_lw gp,0x10(sp)
lw v1,0x24(sp)
lw a0,0x18(sp)
beq a0,zero,0x00015634
_lw v0,0xc(v1)
ori v0,v0,0x2
sw v0,0xc(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw t9,-0x7e80(gp)
addiu s5,sp,0x4c
addiu s1,sp,0x5c
jalr t9
_addiu s6,sp,0x48
or s2,s8,zero
lw gp,0x10(sp)
or s7,v0,zero
lw t9,-0x7e54(gp)
li a2,0x10
or a0,s2,zero
sw zero,0x0(s7)
jalr t9
_or a1,s6,zero
lw a0,0x0(s7)
bne a0,zero,0x00015610
_lw gp,0x10(sp)
lw a0,0x48(sp)
li t2,0x3a
lb t0,0x0(a0)
bne t0,t2,0x00015610
_nop
beq a0,s2,0x00015614
_lw a1,-0x7fc8(gp)
sw v0,0x0(s5)
addiu s5,s5,0x4
bne s5,s1,0x0001550c
_addiu s2,a0,0x1
lw a0,0x24(sp)
lw v0,0x4c(sp)
addiu v1,a0,0x20
sw v0,0x0(a0)
or s5,a0,zero
lw v0,0x50(sp)
sw v0,0x4(a0)
lw v0,0x54(sp)
sw v0,0x8(a0)
lw v0,0x58(sp)
b 0x000155bc
_sw v0,0xc(a0)
beq a0,s2,0x00015614
_lw a1,-0x7fc8(gp)
andi a1,v0,0xff
bne v0,a1,0x00015610
_andi a0,v0,0xff
lw v1,0x44(sp)
addiu s5,s5,0x1
lw t0,0x18(sp)
sb a0,0x10(s5)
lw s2,0x48(sp)
beq v1,s5,0x0001523c
_addiu s2,s2,0x1
lw v0,0x24(sp)
li a2,0x10
lw t9,-0x7e54(gp)
or a0,s2,zero
sw v1,0x44(sp)
or a1,s6,zero
subu s1,s5,v0
sw zero,0x0(s7)
or v0,t0,zero
sw t0,0x18(sp)
xori s1,s1,0x1f
movz v0,zero,s1
jalr t9
_or s1,v0,zero
lw a0,0x0(s7)
bne a0,zero,0x00015610
_lw gp,0x10(sp)
lw a0,0x48(sp)
lb a1,0x0(a0)
beq a1,s1,0x0001558c
_nop
lw a1,-0x7fc8(gp)
li a2,0x5
lw t9,-0x7e08(gp)
or a0,zero,zero
b 0x000153e8
_addiu a1,a1,-0x2030
lw t9,-0x7e0c(gp)
jalr t9
_nop
li v1,-0x3
and v0,v0,v1
lw v1,0x24(sp)
sw v0,0xc(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2074
bne v0,zero,0x00015764
_lw gp,0x10(sp)
lw a1,0x24(sp)
li v0,-0x131
lw a0,0x8(a1)
and v0,v0,a0
lw a0,0x18(sp)
beq a0,zero,0x0001573c
_lw v1,0x0(a1)
ori v1,v1,0x20
sw v1,0x0(a1)
ori v0,v0,0x120
sw v0,0x8(a1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw v0,-0x7fd8(gp)
b 0x000156c8
_addiu v0,v0,0x7fc
lw v1,-0x4(v0)
lbu a0,-0x8(v0)
addu v1,a1,v1
sb a0,0x11(v1)
addiu v0,v0,0xc
lw v1,-0xc(v0)
bne v1,zero,0x000156b8
_lw a1,0x24(sp)
or s2,a3,zero
lw v0,0x0(s2)
beq v0,zero,0x00015240
_lw v1,0x28(sp)
lbu v0,0x8(s2)
andi v1,v0,0x10
bne v1,zero,0x00015734
_andi v1,v0,0x1
beq v1,zero,0x000157c8
_andi v0,v0,0x2
lw a0,0x4(s2)
or t9,s1,zero
bal 0x00012dc8
_lw a1,0x24(sp)
beq v0,zero,0x00015804
_lw gp,0x10(sp)
lw v1,0x10(s2)
lw a1,0x0(v0)
lw a0,0xc(s2)
nor v1,zero,v1
and v1,v1,a1
or v1,v1,a0
sw v1,0x0(v0)
b 0x000156dc
_addiu s2,s2,0x14
li a0,-0x21
ori v0,v0,0x30
and v1,v1,a0
lw a0,0x24(sp)
sw v1,0x0(a0)
sw v0,0x8(a0)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x206c
bne v0,zero,0x00015864
_lw gp,0x10(sp)
lw a2,0x24(sp)
li v0,-0x131
lw a1,0x8(a2)
lw v1,0x4(a2)
and v0,v0,a1
lw a1,0x18(sp)
beq a1,zero,0x00015830
_lw a0,0x0(a2)
ori v1,v1,0x1
sw v1,0x4(a2)
ori v0,v0,0x120
sw v0,0x8(a2)
li v0,0x1
lw v1,0x28(sp)
ori a0,a0,0x20
sw a0,0x0(a2)
b 0x00014ae0
_sb v0,0x0(v1)
beq v0,zero,0x00015734
_or t9,s1,zero
lw a0,0x4(s2)
bal 0x00012dc8
_lw a1,0x24(sp)
beq v0,zero,0x00015828
_lw gp,0x10(sp)
lw a0,0x10(s2)
addiu s2,s2,0x14
lw a1,-0x8(s2)
lw v1,0x0(v0)
nor a0,a0,a1
and v1,v1,a0
b 0x000156dc
_sw v1,0x0(v0)
li a2,0x8cb
lw a3,-0x7fc8(gp)
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7edc(gp)
addiu a3,a3,-0x1a4c
addiu a1,a1,-0x2090
jalr t9
_addiu a0,a0,-0x2084
b 0x00015808
_li a2,0x8d1
li a1,-0x21
ori v0,v0,0x30
and a0,a0,a1
lw a1,0x24(sp)
sw v0,0x8(a1)
li v0,-0x2
sw a0,0x0(a1)
and v1,v1,v0
sw v1,0x4(a1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2064
beq v0,zero,0x000158e0
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2060
beq v0,zero,0x000158e0
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2058
bne v0,zero,0x00015958
_lw gp,0x10(sp)
lw v1,0x24(sp)
lw a0,0x18(sp)
beq a0,zero,0x00015938
_lw v0,0x0(v1)
ori v0,v0,0x800
sw v0,0x0(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lb v0,0x0(s7)
li v1,0x72
beq v0,v1,0x000159dc
_li v1,0x63
beq v0,v1,0x0001599c
_lw v0,0x18(sp)
lw a2,0x24(sp)
li a1,-0x2
li a0,0x1
lw v1,0x4(a2)
lw v0,0xc(a2)
sw zero,0x0(a2)
and v1,v1,a1
sb zero,0x16(a2)
li a1,-0x8
sw v1,0x4(a2)
sb a0,0x15(a2)
and v0,v0,a1
sw v0,0xc(a2)
lw v0,0x28(sp)
b 0x00014ae0
_sb a0,0x0(v0)
li v1,-0x801
and v0,v0,v1
lw v1,0x24(sp)
sw v0,0x0(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2050
bne v0,zero,0x00015a10
_lw gp,0x10(sp)
lw v1,0x24(sp)
lw a0,0x18(sp)
beq a0,zero,0x000159f0
_lw v0,0x4(v1)
ori v0,v0,0x1800
sw v0,0x4(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
bne v0,zero,0x000158fc
_lw a2,0x24(sp)
lw a1,0x24(sp)
lw v1,0x4(a1)
lw v0,0xc(a1)
lw a0,0x0(a1)
ori v1,v1,0x1
sw v1,0x4(a1)
ori v0,v0,0x3
sw v0,0xc(a1)
li v0,0x1
lw v1,0x28(sp)
ori a0,a0,0x526
sw a0,0x0(a1)
b 0x00014ae0
_sb v0,0x0(v1)
lw v0,0x18(sp)
bne v0,zero,0x000159a8
_lw a1,0x24(sp)
b 0x000158fc
_lw a2,0x24(sp)
li v1,-0x1801
and v0,v0,v1
lw v1,0x24(sp)
sw v0,0x4(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2048
beq v0,zero,0x00015a84
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2040
beq v0,zero,0x00015a84
_lw gp,0x10(sp)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2038
bne v0,zero,0x00015ad0
_lw gp,0x10(sp)
lw v1,0x24(sp)
lw v0,0xc(v1)
ori v0,v0,0xa10
sw v0,0xc(v1)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a2,0x24(sp)
lw a1,0x18(sp)
lw v0,0x4(a2)
lw a0,0xc(a2)
beq a1,zero,0x00015b34
_lw v1,0x0(a2)
li a1,-0x5
and a0,a0,a1
li a1,-0x201
sw a0,0xc(a2)
li a0,-0x3
and v1,v1,a1
sw v1,0x0(a2)
and v0,v0,a0
sw v0,0x4(a2)
li v0,0x1
lw v1,0x28(sp)
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,-0x7fc8(gp)
or a0,s7,zero
lw t9,-0x7dd4(gp)
jalr t9
_addiu a1,a1,-0x2034
bne v0,zero,0x0001523c
_lw gp,0x10(sp)
lw a1,0x24(sp)
li a0,0x3
lw v1,0xc(a1)
lw v0,0x0(a1)
sb a0,0x11(a1)
li a0,0x7f
ori v1,v1,0xa10
sb a0,0x13(a1)
li a0,0x15
sw v1,0xc(a1)
sb a0,0x14(a1)
li a0,-0x801
lw v1,0x28(sp)
and v0,v0,a0
sw v0,0x0(a1)
li v0,0x1
b 0x00014ae0
_sb v0,0x0(v1)
lw a1,0x24(sp)
ori a0,a0,0x4
ori v1,v1,0x200
ori v0,v0,0x2
sw a0,0xc(a1)
sw v1,0x0(a1)
b 0x0001523c
_sw v0,0x4(a1)
(translation_unit "void FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}\n\n" (function_definition "void FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}" primitive_type (function_declarator "FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined1 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined1 *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "char cVar13;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "code *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "code *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c [4];" type_identifier (array_declarator "local_3c [4]" identifier [ number_literal ]) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000312dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000312dc" identifier = identifier) ;) (expression_statement "local_2c = *(uint *)PTR___stack_chk_guard_000312dc;" (assignment_expression "local_2c = *(uint *)PTR___stack_chk_guard_000312dc" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_000312dc" * (cast_expression "(uint *)PTR___stack_chk_guard_000312dc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_4 < 2) goto LAB_00014b48;" if (parenthesized_expression "(param_4 < 2)" ( (binary_expression "param_4 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00014b48;" goto statement_identifier ;)) (expression_statement "unaff_s0 = 1;" (assignment_expression "unaff_s0 = 1" identifier = number_literal) ;) (expression_statement "local_6c = PTR_DAT_000310f8;" (assignment_expression "local_6c = PTR_DAT_000310f8" identifier = identifier) ;) (expression_statement "local_68 = PTR_DAT_00031108 + -0x20b4;" (assignment_expression "local_68 = PTR_DAT_00031108 + -0x20b4" identifier = (binary_expression "PTR_DAT_00031108 + -0x20b4" identifier + number_literal)) ;) (expression_statement "local_5c = PTR_DAT_00031108;" (assignment_expression "local_5c = PTR_DAT_00031108" identifier = identifier) ;) (expression_statement "local_54 = (code *)(PTR_00031104 + 0x3234);" (assignment_expression "local_54 = (code *)(PTR_00031104 + 0x3234)" identifier = (cast_expression "(code *)(PTR_00031104 + 0x3234)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00031104 + 0x3234)" ( (binary_expression "PTR_00031104 + 0x3234" identifier + number_literal) )))) ;) (expression_statement "local_48 = (code *)(PTR_00031104 + 0x33ac);" (assignment_expression "local_48 = (code *)(PTR_00031104 + 0x33ac)" identifier = (cast_expression "(code *)(PTR_00031104 + 0x33ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00031104 + 0x33ac)" ( (binary_expression "PTR_00031104 + 0x33ac" identifier + number_literal) )))) ;) (labeled_statement "LAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);" statement_identifier : (expression_statement "pcVar18 = (char *)(unaff_s0 * 4);" (assignment_expression "pcVar18 = (char *)(unaff_s0 * 4)" identifier = (cast_expression "(char *)(unaff_s0 * 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 * 4)" ( (binary_expression "unaff_s0 * 4" identifier * number_literal) )))) ;)) (expression_statement "pcVar16 = pcVar18 + param_3;" (assignment_expression "pcVar16 = pcVar18 + param_3" identifier = (binary_expression "pcVar18 + param_3" identifier + identifier)) ;) (expression_statement "pcVar23 = *(char **)pcVar16;" (assignment_expression "pcVar23 = *(char **)pcVar16" identifier = (pointer_expression "*(char **)pcVar16" * (cast_expression "(char **)pcVar16" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (if_statement "if (pcVar23 == (char *)0x0) goto LAB_00014ae0;" if (parenthesized_expression "(pcVar23 == (char *)0x0)" ( (binary_expression "pcVar23 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (if_statement "if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" if (parenthesized_expression "(*pcVar23 == '-')" ( (binary_expression "*pcVar23 == '-'" (pointer_expression "*pcVar23" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }" { (expression_statement "pcVar23 = pcVar23 + 1;" (assignment_expression "pcVar23 = pcVar23 + 1" identifier = (binary_expression "pcVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x20a4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x20a4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00014bb8;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" ( (binary_expression "PTR_DAT_000310f8 + 0x1048" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" else (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x20a4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x20a4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00014bb8:\n      iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "puVar19 = (undefined4 *)(local_6c + 0x8f4);" (assignment_expression "puVar19 = (undefined4 *)(local_6c + 0x8f4)" identifier = (cast_expression "(undefined4 *)(local_6c + 0x8f4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6c + 0x8f4)" ( (binary_expression "local_6c + 0x8f4" identifier + number_literal) )))) ;) (expression_statement "pcVar21 = local_68;" (assignment_expression "pcVar21 = local_68" identifier = identifier) ;) (while_statement "while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }" while (parenthesized_expression "(iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0)" ( (comma_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,pcVar21)" ( identifier , identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) )) (compound_statement "{\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }" { (expression_statement "pcVar21 = (char *)*puVar19;" (assignment_expression "pcVar21 = (char *)*puVar19" identifier = (cast_expression "(char *)*puVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 5;" (assignment_expression "puVar19 = puVar19 + 5" identifier = (binary_expression "puVar19 + 5" identifier + number_literal)) ;) (if_statement "if (pcVar21 == (char *)0x0) goto LAB_00014ca0;" if (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014ca0;" goto statement_identifier ;)) })) (expression_statement "piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);" (assignment_expression "piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0)" identifier = (cast_expression "(int *)(PTR_DAT_000310f8 + 0x8e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x8e0)" ( (binary_expression "PTR_DAT_000310f8 + 0x8e0" identifier + number_literal) )))) ;) (if_statement "if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;" if (parenthesized_expression "((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0)" ( (binary_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10)" ( (binary_expression "*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10" (pointer_expression "*(byte *)(piVar15 + iVar4 * 5 + 2)" * (cast_expression "(byte *)(piVar15 + iVar4 * 5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + iVar4 * 5 + 2)" ( (binary_expression "piVar15 + iVar4 * 5 + 2" (binary_expression "piVar15 + iVar4 * 5" identifier + (binary_expression "iVar4 * 5" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00014c1c;" goto statement_identifier ;)) (expression_statement "pcVar18 = (char *)0x14;" (assignment_expression "pcVar18 = (char *)0x14" identifier = (cast_expression "(char *)0x14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }" { (if_statement "if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }" if (parenthesized_expression "((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 4)" ( (binary_expression "*(byte *)(piVar15 + iVar4 * 5 + 2) & 4" (pointer_expression "*(byte *)(piVar15 + iVar4 * 5 + 2)" * (cast_expression "(byte *)(piVar15 + iVar4 * 5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + iVar4 * 5 + 2)" ( (binary_expression "piVar15 + iVar4 * 5 + 2" (binary_expression "piVar15 + iVar4 * 5" identifier + (binary_expression "iVar4 * 5" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          *param_7 = 1;\n          goto LAB_00015140;\n        }" { (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00015140;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier (argument_list "(piVar15[iVar4 * 5 + 1],param_5)" ( (subscript_expression "piVar15[iVar4 * 5 + 1]" identifier [ (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) , identifier ))))) ;) (if_statement "if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(puVar6 != (uint *)0x0)" ( (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);" (assignment_expression "*puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (pointer_expression "*puVar6" * identifier) = (binary_expression "*puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (pointer_expression "*puVar6" * identifier) & (unary_expression "~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" ~ (parenthesized_expression "(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" ( (binary_expression "piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]" (subscript_expression "piVar15[iVar4 * 5 + 4]" identifier [ (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) | (subscript_expression "piVar15[iVar4 * 5 + 3]" identifier [ (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ])) ))))) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f90)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f90" identifier + number_literal) )))) ;) (if_statement "if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0))" ( (binary_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            )" ( (binary_expression "(iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f88)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f88" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f80)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f80" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) }) (else_clause "else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" else (compound_statement "{\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" { (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier (argument_list "(piVar15[iVar4 * 5 + 1],param_5)" ( (subscript_expression "piVar15[iVar4 * 5 + 1]" identifier [ (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) , identifier ))))) ;) (if_statement "if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(puVar6 != (uint *)0x0)" ( (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];" (assignment_expression "*puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3]" (pointer_expression "*puVar6" * identifier) = (binary_expression "~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3]" (binary_expression "~piVar15[iVar4 * 5 + 4] & *puVar6" (unary_expression "~piVar15[iVar4 * 5 + 4]" ~ (subscript_expression "piVar15[iVar4 * 5 + 4]" identifier [ (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ])) & (pointer_expression "*puVar6" * identifier)) | (subscript_expression "piVar15[iVar4 * 5 + 3]" identifier [ (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f90)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f90" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f88)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f88" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffccf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffccf | 0x120" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffccf | 0x120" (binary_expression "param_5[2] & 0xfffffccf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f80)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f80" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffccf | 800;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffccf | 800" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffccf | 800" (binary_expression "param_5[2] & 0xfffffccf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) }))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1ac0)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ac0" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" { (if_statement "if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*param_5 = *param_5 & 0xfffffeff;" (assignment_expression "*param_5 = *param_5 & 0xfffffeff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffffeff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffb;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffb" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffb" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "*param_5 = *param_5 & 0xfffffe3f | 0x100;" (assignment_expression "*param_5 = *param_5 & 0xfffffe3f | 0x100" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffffe3f | 0x100" (binary_expression "*param_5 & 0xfffffe3f" (pointer_expression "*param_5" * identifier) & number_literal) | number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xffffffd3 | 4;" (assignment_expression "param_5[1] = param_5[1] & 0xffffffd3 | 4" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xffffffd3 | 4" (binary_expression "param_5[1] & 0xffffffd3" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x209c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x209c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }" { (expression_statement "*(undefined1 *)((int)param_5 + 0x13) = 0x7f;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x13) = 0x7f" (pointer_expression "*(undefined1 *)((int)param_5 + 0x13)" * (cast_expression "(undefined1 *)((int)param_5 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x13)" ( (binary_expression "(int)param_5 + 0x13" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_5 + 5) = 0x15;" (assignment_expression "*(undefined1 *)(param_5 + 5) = 0x15" (pointer_expression "*(undefined1 *)(param_5 + 5)" * (cast_expression "(undefined1 *)(param_5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 5)" ( (binary_expression "param_5 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2098)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2098" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x207c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x207c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "uVar10 = param_5[3];" (assignment_expression "uVar10 = param_5[3]" identifier = (subscript_expression "param_5[3]" identifier [ number_literal ])) ;) (if_statement "if (!bVar2) goto LAB_00015634;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_00015634;" goto statement_identifier ;)) (expression_statement "param_5[3] = uVar10 | 2;" (assignment_expression "param_5[3] = uVar10 | 2" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "uVar10 | 2" identifier | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2074)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2074" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "*param_5 = *param_5 & 0xffffffdf;" (assignment_expression "*param_5 = *param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "*param_5 = *param_5 | 0x20;" (assignment_expression "*param_5 = *param_5 | 0x20" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x20" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x120" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x120" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x206c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x206c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_5 = *param_5 & 0xffffffdf;" (assignment_expression "*param_5 = *param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffe;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "param_5[1] = param_5[1] | 1;" (assignment_expression "param_5[1] = param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x120" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x120" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_5 = *param_5 | 0x20;" (assignment_expression "*param_5 = *param_5 | 0x20" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x20" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2064)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2064" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2060)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2060" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(*pcVar21 == 'r')" ( (binary_expression "*pcVar21 == 'r'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'r'" ' character ')) )) (compound_statement "{\n            if (bVar2) goto LAB_000159a8;\n          }" { (if_statement "if (bVar2) goto LAB_000159a8;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000159a8;" goto statement_identifier ;)) }) (else_clause "else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" else (if_statement "if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "((*pcVar21 == 'c') && (!bVar2))" ( (binary_expression "(*pcVar21 == 'c') && (!bVar2)" (parenthesized_expression "(*pcVar21 == 'c')" ( (binary_expression "*pcVar21 == 'c'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'c'" ' character ')) )) && (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) ))) )) (compound_statement "{\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (labeled_statement "LAB_000159a8:\n            param_5[1] = param_5[1] | 1;" statement_identifier : (expression_statement "param_5[1] = param_5[1] | 1;" (assignment_expression "param_5[1] = param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;)) (expression_statement "param_5[3] = param_5[3] | 3;" (assignment_expression "param_5[3] = param_5[3] | 3" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 3" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_5 = *param_5 | 0x526;" (assignment_expression "*param_5 = *param_5 | 0x526" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x526" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })))) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)((int)param_5 + 0x16) = 0;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x16) = 0" (pointer_expression "*(undefined1 *)((int)param_5 + 0x16)" * (cast_expression "(undefined1 *)((int)param_5 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x16)" ( (binary_expression "(int)param_5 + 0x16" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffe;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)((int)param_5 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)param_5 + 0x15)" * (cast_expression "(undefined1 *)((int)param_5 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x15)" ( (binary_expression "(int)param_5 + 0x15" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "param_5[3] = param_5[3] & 0xfffffff8;" (assignment_expression "param_5[3] = param_5[3] & 0xfffffff8" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] & 0xfffffff8" (subscript_expression "param_5[3]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2058)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2058" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "*param_5 = *param_5 & 0xfffff7ff;" (assignment_expression "*param_5 = *param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "*param_5 = *param_5 | 0x800;" (assignment_expression "*param_5 = *param_5 | 0x800" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x800" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2050)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2050" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[1] = param_5[1] & 0xffffe7ff;" (assignment_expression "param_5[1] = param_5[1] & 0xffffe7ff" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xffffe7ff" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "param_5[1] = param_5[1] | 0x1800;" (assignment_expression "param_5[1] = param_5[1] | 0x1800" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 0x1800" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2048)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2048" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2040)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2040" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }" { (if_statement "if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[3] = param_5[3] & 0xfffffffb;" (assignment_expression "param_5[3] = param_5[3] & 0xfffffffb" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] & 0xfffffffb" (subscript_expression "param_5[3]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_5 = *param_5 & 0xfffffdff;" (assignment_expression "*param_5 = *param_5 & 0xfffffdff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffffdff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffd;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffd" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffd" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "param_5[3] = param_5[3] | 4;" (assignment_expression "param_5[3] = param_5[3] | 4" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 4" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_5 = *param_5 | 0x200;" (assignment_expression "*param_5 = *param_5 | 0x200" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x200" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "param_5[1] = param_5[1] | 2;" (assignment_expression "param_5[1] = param_5[1] | 2" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 2" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;) }) (else_clause "else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" else (compound_statement "{\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2038)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2038" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[3] = param_5[3] | 0xa10;" (assignment_expression "param_5[3] = param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2034)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2034" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "*(undefined1 *)((int)param_5 + 0x11) = 3;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x11) = 3" (pointer_expression "*(undefined1 *)((int)param_5 + 0x11)" * (cast_expression "(undefined1 *)((int)param_5 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x11)" ( (binary_expression "(int)param_5 + 0x11" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)param_5 + 0x13) = 0x7f;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x13) = 0x7f" (pointer_expression "*(undefined1 *)((int)param_5 + 0x13)" * (cast_expression "(undefined1 *)((int)param_5 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x13)" ( (binary_expression "(int)param_5 + 0x13" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "param_5[3] = param_5[3] | 0xa10;" (assignment_expression "param_5[3] = param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*(undefined1 *)(param_5 + 5) = 0x15;" (assignment_expression "*(undefined1 *)(param_5 + 5) = 0x15" (pointer_expression "*(undefined1 *)(param_5 + 5)" * (cast_expression "(undefined1 *)(param_5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 5)" ( (binary_expression "param_5 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_5 = *param_5 & 0xfffff7ff;" (assignment_expression "*param_5 = *param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) (expression_statement "piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);" (assignment_expression "piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc)" identifier = (cast_expression "(int *)(PTR_DAT_000310f8 + 0x7fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x7fc)" ( (binary_expression "PTR_DAT_000310f8 + 0x7fc" identifier + number_literal) )))) ;) (while_statement "while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }" while (parenthesized_expression "(*piVar11 != 0)" ( (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" * identifier) != number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }" { (expression_statement "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);" (assignment_expression "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1)" (pointer_expression "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11)" * (cast_expression "(undefined1 *)((int)param_5 + piVar11[2] + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + piVar11[2] + 0x11)" ( (binary_expression "(int)param_5 + piVar11[2] + 0x11" (binary_expression "(int)param_5 + piVar11[2]" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar11[2]" identifier [ number_literal ])) + number_literal) )))) = (pointer_expression "*(undefined1 *)(piVar11 + 1)" * (cast_expression "(undefined1 *)(piVar11 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = piVar11 + 3;" (assignment_expression "piVar11 = piVar11 + 3" identifier = (binary_expression "piVar11 + 3" identifier + number_literal)) ;) })) (do_statement "do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );" do (compound_statement "{\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      }" { (while_statement "while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }" { (if_statement "if (*piVar15 == 0) goto LAB_00015240;" if (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) (goto_statement "goto LAB_00015240;" goto statement_identifier ;)) (expression_statement "bVar12 = *(byte *)(piVar15 + 2);" (assignment_expression "bVar12 = *(byte *)(piVar15 + 2)" identifier = (pointer_expression "*(byte *)(piVar15 + 2)" * (cast_expression "(byte *)(piVar15 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + 2)" ( (binary_expression "piVar15 + 2" identifier + number_literal) ))))) ;) (if_statement "if ((bVar12 & 0x10) == 0) break;" if (parenthesized_expression "((bVar12 & 0x10) == 0)" ( (binary_expression "(bVar12 & 0x10) == 0" (parenthesized_expression "(bVar12 & 0x10)" ( (binary_expression "bVar12 & 0x10" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00015734:\n          piVar15 = piVar15 + 5;" statement_identifier : (expression_statement "piVar15 = piVar15 + 5;" (assignment_expression "piVar15 = piVar15 + 5" identifier = (binary_expression "piVar15 + 5" identifier + number_literal)) ;)) })) (if_statement "if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }" if (parenthesized_expression "((bVar12 & 1) != 0)" ( (binary_expression "(bVar12 & 1) != 0" (parenthesized_expression "(bVar12 & 1)" ( (binary_expression "bVar12 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }" { (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[1],param_5)" identifier (argument_list "(piVar15[1],param_5)" ( (subscript_expression "piVar15[1]" identifier [ number_literal ]) , identifier ))))) ;) (if_statement "if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" { (expression_statement "uVar9 = 0x8cb;" (assignment_expression "uVar9 = 0x8cb" identifier = number_literal) ;) (goto_statement "goto LAB_00015808;" goto statement_identifier ;) })) (expression_statement "*puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];" (assignment_expression "*puVar6 = ~piVar15[4] & *puVar6 | piVar15[3]" (pointer_expression "*puVar6" * identifier) = (binary_expression "~piVar15[4] & *puVar6 | piVar15[3]" (binary_expression "~piVar15[4] & *puVar6" (unary_expression "~piVar15[4]" ~ (subscript_expression "piVar15[4]" identifier [ number_literal ])) & (pointer_expression "*puVar6" * identifier)) | (subscript_expression "piVar15[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00015734;" goto statement_identifier ;) })) (if_statement "if ((bVar12 & 2) == 0) goto LAB_00015734;" if (parenthesized_expression "((bVar12 & 2) == 0)" ( (binary_expression "(bVar12 & 2) == 0" (parenthesized_expression "(bVar12 & 2)" ( (binary_expression "bVar12 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00015734;" goto statement_identifier ;)) (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[1],param_5)" identifier (argument_list "(piVar15[1],param_5)" ( (subscript_expression "piVar15[1]" identifier [ number_literal ]) , identifier ))))) ;) (if_statement "if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" { (expression_statement "uVar9 = 0x8d1;" (assignment_expression "uVar9 = 0x8d1" identifier = number_literal) ;) (labeled_statement "LAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" (call_expression "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000311f4)" ( (pointer_expression "*(code *)PTR___assert_fail_000311f4" * (cast_expression "(code *)PTR___assert_fail_000311f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" ( (binary_expression "PTR_DAT_00031108 + -0x2084" identifier + number_literal) , (binary_expression "PTR_DAT_00031108 + -0x2090" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_00031108 + -0x1a4c" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "*puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);" (assignment_expression "*puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3])" (pointer_expression "*puVar6" * identifier) = (binary_expression "*puVar6 & ~(piVar15[4] | piVar15[3])" (pointer_expression "*puVar6" * identifier) & (unary_expression "~(piVar15[4] | piVar15[3])" ~ (parenthesized_expression "(piVar15[4] | piVar15[3])" ( (binary_expression "piVar15[4] | piVar15[3]" (subscript_expression "piVar15[4]" identifier [ number_literal ]) | (subscript_expression "piVar15[3]" identifier [ number_literal ])) ))))) ;) (expression_statement "piVar15 = piVar15 + 5;" (assignment_expression "piVar15 = piVar15 + 5" identifier = (binary_expression "piVar15 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" ( (binary_expression "PTR_DAT_000310f8 + 0x1048" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) (labeled_statement "LAB_00014ca0:\n  iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (if_statement "if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }" { (labeled_statement "LAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" statement_identifier : (expression_statement "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" (assignment_expression "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_00031108 + -0x2030,5)" ( number_literal , (binary_expression "PTR_DAT_00031108 + -0x2030" identifier + number_literal) , number_literal )))) ;)) (expression_statement "pcVar23 = pcVar23 + -1;" (assignment_expression "pcVar23 = pcVar23 + -1" identifier = (binary_expression "pcVar23 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_000153f8;" goto statement_identifier ;) })) (expression_statement "puVar14 = PTR_DAT_00031108 + -0x20ac;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x20ac" identifier = (binary_expression "PTR_DAT_00031108 + -0x20ac" identifier + number_literal)) ;) (expression_statement "puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);" (assignment_expression "puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x808)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x808)" ( (binary_expression "PTR_DAT_000310f8 + 0x808" identifier + number_literal) )))) ;) (do_statement "do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);" do (compound_statement "{\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  }" { (expression_statement "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,puVar14)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }" { (if_statement "if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;" if (parenthesized_expression "((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))" ( (binary_expression "(param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" ( (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0)" ( (comma_expression "pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0" (assignment_expression "pbVar17 = *(byte **)(pcVar16 + 4)" identifier = (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) ))))) , (binary_expression "pbVar17 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;" (assignment_expression "pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc" identifier = (binary_expression "PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc" (binary_expression "PTR_DAT_000310f8 + iVar4 * 0xc" identifier + (binary_expression "iVar4 * 0xc" identifier * number_literal)) + number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,PTR_DAT_00031108 + -0x2004)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2004" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }" if (parenthesized_expression "((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0))" ( (binary_expression "(iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,PTR_DAT_00031108 + -0x2000)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2000" identifier + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }" { (expression_statement "bVar12 = *pbVar17;" (assignment_expression "bVar12 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (if_statement "if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;" if (parenthesized_expression "((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0))" ( (binary_expression "(bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)" (parenthesized_expression "(bVar12 == 0)" ( (binary_expression "bVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar1 = pbVar17[1], bVar1 == 0)" ( (comma_expression "bVar1 = pbVar17[1], bVar1 == 0" (assignment_expression "bVar1 = pbVar17[1]" identifier = (subscript_expression "pbVar17[1]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar17,PTR_DAT_00031108 + -0x1ff8)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ff8" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar17,PTR_DAT_00031108 + -0x1ff4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ff4" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }" { (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) (if_statement "if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }" if (parenthesized_expression "(bVar12 == 0x5e)" ( (binary_expression "bVar12 == 0x5e" identifier == number_literal) )) (compound_statement "{\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }" { (if_statement "if (bVar1 == 0x3f) goto LAB_00015430;" if (parenthesized_expression "(bVar1 == 0x3f)" ( (binary_expression "bVar1 == 0x3f" identifier == number_literal) )) (goto_statement "goto LAB_00015430;" goto statement_identifier ;)) (expression_statement "bVar12 = bVar1 & 0x9f;" (assignment_expression "bVar12 = bVar1 & 0x9f" identifier = (binary_expression "bVar1 & 0x9f" identifier & number_literal)) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) })) (expression_statement "bVar12 = (*local_54)(pbVar17,0xff);" (assignment_expression "bVar12 = (*local_54)(pbVar17,0xff)" identifier = (call_expression "(*local_54)(pbVar17,0xff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(pbVar17,0xff)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) (expression_statement "puVar14 = (undefined *)*puVar19;" (assignment_expression "puVar14 = (undefined *)*puVar19" identifier = (cast_expression "(undefined *)*puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" identifier = (binary_expression "puVar19 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar14 != (undefined *)0x0)" ( (binary_expression "puVar14 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,local_5c + -0x1fec)" ( identifier , (binary_expression "local_5c + -0x1fec" identifier + number_literal) )))) ;)) (if_statement "if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }" { (if_statement "if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;" if (parenthesized_expression "((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0))" ( (binary_expression "(param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" ( (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(*(int *)(pcVar16 + 4) == 0)" ( (binary_expression "*(int *)(pcVar16 + 4) == 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "iVar4 = FUN_00012c40();" (assignment_expression "iVar4 = FUN_00012c40()" identifier = (call_expression "FUN_00012c40()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar22 = (code *)PTR_cfsetispeed_00031268;" (assignment_expression "pcVar22 = (code *)PTR_cfsetispeed_00031268" identifier = (cast_expression "(code *)PTR_cfsetispeed_00031268" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;" statement_identifier : (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" else (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fe4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fe4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" { (if_statement "if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;" if (parenthesized_expression "((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0))" ( (binary_expression "(param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" ( (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(*(int *)(pcVar16 + 4) == 0)" ( (binary_expression "*(int *)(pcVar16 + 4) == 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "iVar4 = FUN_00012c40();" (assignment_expression "iVar4 = FUN_00012c40()" identifier = (call_expression "FUN_00012c40()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar22 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar22 = (code *)PTR_cfsetospeed_000312d0" identifier = (cast_expression "(code *)PTR_cfsetospeed_000312d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00014c78;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fdc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fdc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" { (if_statement "if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0))" ( (binary_expression "(param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)" (parenthesized_expression "(param_4 + -1 != unaff_s0)" ( (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(int *)(pcVar16 + 4) != 0)" ( (binary_expression "*(int *)(pcVar16 + 4) != 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" identifier = (call_expression "(*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(*(int *)(pcVar16 + 4),0x7fffffff)" ( (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "(*local_48)(uVar9,0xffffffff,param_2);" (call_expression "(*local_48)(uVar9,0xffffffff,param_2)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(uVar9,0xffffffff,param_2)" ( identifier , number_literal , identifier ))) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (labeled_statement "LAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;" statement_identifier : (expression_statement "puVar14 = PTR_DAT_00031108 + -0x201c;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x201c" identifier = (binary_expression "PTR_DAT_00031108 + -0x201c" identifier + number_literal)) ;)) (goto_statement "goto LAB_000153e8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fd4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fd4" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fcc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fcc" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0))" ( (binary_expression "(param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)" (parenthesized_expression "(param_4 + -1 != unaff_s0)" ( (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(int *)(pcVar16 + 4) != 0)" ( (binary_expression "*(int *)(pcVar16 + 4) != 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" identifier = (call_expression "(*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(*(int *)(pcVar16 + 4),0x7fffffff)" ( (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "(*local_48)(0xffffffff,uVar9,param_2);" (call_expression "(*local_48)(0xffffffff,uVar9,param_2)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(0xffffffff,uVar9,param_2)" ( number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fc4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fc4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }" { (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = FUN_00012cf4();" (assignment_expression "uVar9 = FUN_00012cf4()" identifier = (call_expression "FUN_00012cf4()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" ( (binary_expression "PTR_DAT_000310f8 + 0x13cc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13c8)" ( (binary_expression "PTR_DAT_000310f8 + 0x13c8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001352c(0,param_2);" (call_expression "FUN_0001352c(0,param_2)" identifier (argument_list "(0,param_2)" ( number_literal , identifier ))) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fbc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fbc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }" if (parenthesized_expression "(param_4 + -1 != unaff_s0)" ( (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) != identifier) )) (compound_statement "{\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }" { (expression_statement "iVar8 = *(int *)(pcVar18 + param_3 + 4);" (assignment_expression "iVar8 = *(int *)(pcVar18 + param_3 + 4)" identifier = (pointer_expression "*(int *)(pcVar18 + param_3 + 4)" * (cast_expression "(int *)(pcVar18 + param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + param_3 + 4)" ( (binary_expression "pcVar18 + param_3 + 4" (binary_expression "pcVar18 + param_3" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }" { (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = (*local_54)(iVar8,0xffffffff);" (assignment_expression "uVar10 = (*local_54)(iVar8,0xffffffff)" identifier = (call_expression "(*local_54)(iVar8,0xffffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(iVar8,0xffffffff)" ( identifier , number_literal )))) ;) (expression_statement "*(char *)(param_5 + 4) = (char)uVar10;" (assignment_expression "*(char *)(param_5 + 4) = (char)uVar10" (pointer_expression "*(char *)(param_5 + 4)" * (cast_expression "(char *)(param_5 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) )))) = (cast_expression "(char)uVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }" if (parenthesized_expression "(uVar10 != (uVar10 & 0xff))" ( (binary_expression "uVar10 != (uVar10 & 0xff)" identifier != (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) ))) )) (compound_statement "{\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }" { (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_00031108 + -0x1fb4,5)" ( number_literal , (binary_expression "PTR_DAT_00031108 + -0x1fb4" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));" (assignment_expression "uVar7 = quote(*(int *)(pcVar18 + param_3 + 4))" identifier = (call_expression "quote(*(int *)(pcVar18 + param_3 + 4))" identifier (argument_list "(*(int *)(pcVar18 + param_3 + 4))" ( (pointer_expression "*(int *)(pcVar18 + param_3 + 4)" * (cast_expression "(int *)(pcVar18 + param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + param_3 + 4)" ( (binary_expression "pcVar18 + param_3 + 4" (binary_expression "pcVar18 + param_3" identifier + identifier) + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);" (call_expression "(*(code *)PTR_error_00031298)(0,0,uVar9,uVar7)" (parenthesized_expression "(*(code *)PTR_error_00031298)" ( (pointer_expression "*(code *)PTR_error_00031298" * (cast_expression "(code *)PTR_error_00031298" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,uVar9,uVar7)" ( number_literal , number_literal , identifier , identifier ))) ;) })) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1f98)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f98" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }" { (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = FUN_00012cf4();" (assignment_expression "uVar9 = FUN_00012cf4()" identifier = (call_expression "FUN_00012cf4()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" ( (binary_expression "PTR_DAT_000310f8 + 0x13cc" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00012ff4(param_5,0);" (call_expression "FUN_00012ff4(param_5,0)" identifier (argument_list "(param_5,0)" ( identifier , number_literal ))) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) })) (expression_statement "iVar4 = FUN_00012c40(pcVar23);" (assignment_expression "iVar4 = FUN_00012c40(pcVar23)" identifier = (call_expression "FUN_00012c40(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) ;) (if_statement "if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (compound_statement "{\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }" { (expression_statement "puVar6 = local_3c;" (assignment_expression "puVar6 = local_3c" identifier = identifier) ;) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_00031250)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00031250)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00031250)()" (parenthesized_expression "(*(code *)PTR___errno_location_00031250)" ( (pointer_expression "*(code *)PTR___errno_location_00031250" * (cast_expression "(code *)PTR___errno_location_00031250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar18 = pcVar23;" (assignment_expression "pcVar18 = pcVar23" identifier = identifier) ;) (goto_statement "goto LAB_0001550c;" goto statement_identifier ;) })) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);" (call_expression "(*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4)" (parenthesized_expression "(*(code *)PTR_cfsetispeed_00031268)" ( (pointer_expression "*(code *)PTR_cfsetispeed_00031268" * (cast_expression "(code *)PTR_cfsetispeed_00031268" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,iVar4)" ( identifier , identifier ))) ;) (expression_statement "pcVar22 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar22 = (code *)PTR_cfsetospeed_000312d0" identifier = (cast_expression "(code *)PTR_cfsetospeed_000312d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar22)(param_5,iVar4);" (call_expression "(*pcVar22)(param_5,iVar4)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(param_5,iVar4)" ( identifier , identifier ))) ;) (expression_statement "*param_6 = 1;" (assignment_expression "*param_6 = 1" (pointer_expression "*param_6" * identifier) = number_literal) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (labeled_statement "joined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" statement_identifier : (while_statement "while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" while (parenthesized_expression "(unaff_s4 = param_3, param_4 <= unaff_s0)" ( (comma_expression "unaff_s4 = param_3, param_4 <= unaff_s0" (assignment_expression "unaff_s4 = param_3" identifier = identifier) , (binary_expression "param_4 <= unaff_s0" identifier <= identifier)) )) (compound_statement "{\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" { (labeled_statement "LAB_00014b48:\n    param_3 = unaff_s4;" statement_identifier : (expression_statement "param_3 = unaff_s4;" (assignment_expression "param_3 = unaff_s4" identifier = identifier) ;)) (if_statement "if (local_2c == *(uint *)puVar3) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(uint *)puVar3)" ( (binary_expression "local_2c == *(uint *)puVar3" identifier == (pointer_expression "*(uint *)puVar3" * (cast_expression "(uint *)puVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();" (assignment_expression "uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_000312c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000312c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000312c4" * (cast_expression "(code *)PTR___stack_chk_fail_000312c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;" statement_identifier : (expression_statement "param_5[3] = uVar10 & 0xfffffffd;" (assignment_expression "param_5[3] = uVar10 & 0xfffffffd" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "uVar10 & 0xfffffffd" identifier & number_literal)) ;)) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (labeled_statement "LAB_00014ae0:\n    unaff_s0 = iVar8 + 1;" statement_identifier : (expression_statement "unaff_s0 = iVar8 + 1;" (assignment_expression "unaff_s0 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) }))) (goto_statement "goto LAB_00014af0;" goto statement_identifier ;) (while_statement "while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }" { (expression_statement "*puVar6 = uVar10;" (assignment_expression "*puVar6 = uVar10" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = local_40 + 1;" (assignment_expression "pcVar18 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (if_statement "if (puVar6 == &local_2c) break;" if (parenthesized_expression "(puVar6 == &local_2c)" ( (binary_expression "puVar6 == &local_2c" identifier == (pointer_expression "&local_2c" & identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;" statement_identifier : (expression_statement "puVar14 = PTR_strtoul_0003127c;" (assignment_expression "puVar14 = PTR_strtoul_0003127c" identifier = identifier) ;)) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);" (assignment_expression "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10)" identifier = (call_expression "(*(code *)puVar14)(pcVar18,&local_40,0x10)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar18,&local_40,0x10)" ( identifier , (pointer_expression "&local_40" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;" if (parenthesized_expression "(((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18))" ( (binary_expression "((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)" (parenthesized_expression "((*piVar15 != 0) || (*local_40 != ':'))" ( (binary_expression "(*piVar15 != 0) || (*local_40 != ':')" (parenthesized_expression "(*piVar15 != 0)" ( (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" * identifier) != number_literal) )) || (parenthesized_expression "(*local_40 != ':')" ( (binary_expression "*local_40 != ':'" (pointer_expression "*local_40" * identifier) != (char_literal "':'" ' character ')) ))) )) || (parenthesized_expression "(local_40 == pcVar18)" ( (binary_expression "local_40 == pcVar18" identifier == identifier) ))) )) (goto_statement "goto LAB_00015614;" goto statement_identifier ;)) })) (expression_statement "*param_5 = local_3c[0];" (assignment_expression "*param_5 = local_3c[0]" (pointer_expression "*param_5" * identifier) = (subscript_expression "local_3c[0]" identifier [ number_literal ])) ;) (expression_statement "param_5[1] = local_3c[1];" (assignment_expression "param_5[1] = local_3c[1]" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (subscript_expression "local_3c[1]" identifier [ number_literal ])) ;) (expression_statement "param_5[2] = local_3c[2];" (assignment_expression "param_5[2] = local_3c[2]" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (subscript_expression "local_3c[2]" identifier [ number_literal ])) ;) (expression_statement "param_5[3] = local_3c[3];" (assignment_expression "param_5[3] = local_3c[3]" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (subscript_expression "local_3c[3]" identifier [ number_literal ])) ;) (expression_statement "puVar6 = param_5;" (assignment_expression "puVar6 = param_5" identifier = identifier) ;) (while_statement "while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" { (expression_statement "puVar14 = PTR_strtoul_0003127c;" (assignment_expression "puVar14 = PTR_strtoul_0003127c" identifier = identifier) ;) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "cVar13 = ':';" (assignment_expression "cVar13 = ':'" identifier = (char_literal "':'" ' character ')) ;) (if_statement "if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }" if (parenthesized_expression "((int)puVar6 - (int)param_5 == 0x1f)" ( (binary_expression "(int)puVar6 - (int)param_5 == 0x1f" (binary_expression "(int)puVar6 - (int)param_5" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (compound_statement "{\n      cVar13 = '\0';\n    }" { (expression_statement "cVar13 = '\0';" (assignment_expression "cVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);" (assignment_expression "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10)" identifier = (call_expression "(*(code *)puVar14)(pcVar18,&local_40,0x10)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar18,&local_40,0x10)" ( identifier , (pointer_expression "&local_40" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;" if (parenthesized_expression "(((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff)))))" ( (binary_expression "((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))" (parenthesized_expression "((*piVar15 != 0) || (*local_40 != cVar13))" ( (binary_expression "(*piVar15 != 0) || (*local_40 != cVar13)" (parenthesized_expression "(*piVar15 != 0)" ( (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" * identifier) != number_literal) )) || (parenthesized_expression "(*local_40 != cVar13)" ( (binary_expression "*local_40 != cVar13" (pointer_expression "*local_40" * identifier) != identifier) ))) )) || (parenthesized_expression "((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))" ( (parenthesized_expression "(local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff)))" ( (binary_expression "local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))" (binary_expression "local_40 == pcVar18" identifier == identifier) || (parenthesized_expression "(uVar10 != (uVar10 & 0xff))" ( (binary_expression "uVar10 != (uVar10 & 0xff)" identifier != (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) ))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar20 = (uint *)((int)puVar6 + 1);" (assignment_expression "puVar20 = (uint *)((int)puVar6 + 1)" identifier = (cast_expression "(uint *)((int)puVar6 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 1)" ( (binary_expression "(int)puVar6 + 1" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char *)((int)puVar6 + 0x11) = (char)uVar10;" (assignment_expression "*(char *)((int)puVar6 + 0x11) = (char)uVar10" (pointer_expression "*(char *)((int)puVar6 + 0x11)" * (cast_expression "(char *)((int)puVar6 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x11)" ( (binary_expression "(int)puVar6 + 0x11" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(char)uVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar18 = local_40 + 1;" (assignment_expression "pcVar18 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar20;" (assignment_expression "puVar6 = puVar20" identifier = identifier) ;) (if_statement "if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" if (parenthesized_expression "(param_5 + 8 == puVar20)" ( (binary_expression "param_5 + 8 == puVar20" (binary_expression "param_5 + 8" identifier + number_literal) == identifier) )) (compound_statement "{\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" { (labeled_statement "LAB_00015240:\n      *param_7 = 1;" statement_identifier : (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;)) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;" statement_identifier : (expression_statement "puVar14 = PTR_DAT_00031108 + -0x2030;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x2030" identifier = (binary_expression "PTR_DAT_00031108 + -0x2030" identifier + number_literal)) ;)) (labeled_statement "LAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);" statement_identifier : (expression_statement "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);" (assignment_expression "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,puVar14,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar14,5)" ( number_literal , identifier , number_literal )))) ;)) (labeled_statement "LAB_000153f8:\n  uVar9 = quote(pcVar23);" statement_identifier : (expression_statement "uVar9 = quote(pcVar23);" (assignment_expression "uVar9 = quote(pcVar23)" identifier = (call_expression "quote(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);" (call_expression "(*(code *)PTR_error_00031298)(0,0,iVar8,uVar9)" (parenthesized_expression "(*(code *)PTR_error_00031298)" ( (pointer_expression "*(code *)PTR_error_00031298" * (cast_expression "(code *)PTR_error_00031298" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,iVar8,uVar9)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "usage(1);" (call_expression "usage(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_00015430:\n  bVar12 = 0x7f;" statement_identifier : (expression_statement "bVar12 = 0x7f;" (assignment_expression "bVar12 = 0x7f" identifier = number_literal) ;)) (labeled_statement "LAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;" statement_identifier : (expression_statement "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;" (assignment_expression "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12" (pointer_expression "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" * (cast_expression "(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" ( (binary_expression "(int)param_5 + *(int *)(pcVar18 + 8) + 0x11" (binary_expression "(int)param_5 + *(int *)(pcVar18 + 8)" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pcVar18 + 8)" * (cast_expression "(int *)(pcVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 8)" ( (binary_expression "pcVar18 + 8" identifier + number_literal) ))))) + number_literal) )))) = identifier) ;)) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })))
(translation_unit "void apply_settings(_Bool checking,char *device_name,char **settings,int n_settings,termios *mode,\n                   _Bool *speed_was_set,_Bool *require_set_attr)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  speed_t sVar6;\n  byte bVar13;\n  tcflag_t *ptVar7;\n  int iVar8;\n  undefined4 uVar9;\n  tcflag_t tVar10;\n  char cVar14;\n  uint uVar11;\n  int *piVar12;\n  uint uVar15;\n  undefined3 in_register_00000010;\n  int iVar16;\n  char *pcVar17;\n  undefined *puVar18;\n  int *piVar19;\n  int unaff_s0;\n  char **ppcVar20;\n  byte *pbVar21;\n  char **unaff_s4;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  termios *ptVar24;\n  termios *ptVar25;\n  code *pcVar26;\n  char *pcVar27;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *p;\n  tcflag_t flag [4];\n  tcflag_t local_2c;\n  \n  puVar18 = PTR___stack_chk_guard_000312dc;\n  iVar16 = CONCAT31(in_register_00000010,checking);\n  local_2c = *(tcflag_t *)PTR___stack_chk_guard_000312dc;\n  if (n_settings < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  ppcVar20 = settings + unaff_s0;\n  pcVar27 = *ppcVar20;\n  iVar8 = unaff_s0;\n  if (pcVar27 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar27 == '-') {\n    pcVar27 = pcVar27 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar27 = pcVar27 + -1;\n    goto LAB_000153f8;\n  }\n  puVar23 = PTR_DAT_00031108 + -0x20ac;\n  puVar22 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);\n    puVar3 = PTR_DAT_000310f8;\n    if (iVar5 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    puVar23 = (undefined *)*puVar22;\n    iVar4 = iVar4 + 1;\n    puVar22 = puVar22 + 3;\n  } while (puVar23 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (iVar16 != 0) goto LAB_00014ae0;\n    sVar6 = string_to_baud(ppcVar20[1]);\n    pcVar26 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }\n    sVar6 = string_to_baud(pcVar27);\n    if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }\n    if (iVar16 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);\n    pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar26)(mode,sVar6);\n  *speed_was_set = true;\n  *require_set_attr = true;\njoined_r0x00014b3c:\n  while (unaff_s4 = settings, n_settings <= unaff_s0) {\nLAB_00014b48:\n    settings = unaff_s4;\n    if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }\n    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;\n    *require_set_attr = true;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *ptVar7 = tVar10;\n    ptVar7 = ptVar7 + 1;\n    pcVar17 = p + 1;\n    if (ptVar7 == &local_2c) break;\nLAB_0001550c:\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;\n  }\n  mode->c_iflag = flag[0];\n  mode->c_oflag = flag[1];\n  mode->c_cflag = flag[2];\n  mode->c_lflag = flag[3];\n  ptVar25 = mode;\n  while( true ) {\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    cVar14 = ':';\n    if ((int)ptVar25 - (int)mode == 0x1f) {\n      cVar14 = '\0';\n    }\n    uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))\n    break;\n    ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);\n    ptVar25->c_cc[0] = (cc_t)uVar11;\n    pcVar17 = p + 1;\n    ptVar25 = ptVar24;\n    if ((termios *)(mode->c_cc + 0xf) == ptVar24) {\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar18 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5);\nLAB_000153f8:\n  pcVar27 = quote(pcVar27);\n  (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n                    /* WARNING: Subroutine does not return */\n  usage(1);\n}\n\n" (function_definition "void apply_settings(_Bool checking,char *device_name,char **settings,int n_settings,termios *mode,\n                   _Bool *speed_was_set,_Bool *require_set_attr)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  speed_t sVar6;\n  byte bVar13;\n  tcflag_t *ptVar7;\n  int iVar8;\n  undefined4 uVar9;\n  tcflag_t tVar10;\n  char cVar14;\n  uint uVar11;\n  int *piVar12;\n  uint uVar15;\n  undefined3 in_register_00000010;\n  int iVar16;\n  char *pcVar17;\n  undefined *puVar18;\n  int *piVar19;\n  int unaff_s0;\n  char **ppcVar20;\n  byte *pbVar21;\n  char **unaff_s4;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  termios *ptVar24;\n  termios *ptVar25;\n  code *pcVar26;\n  char *pcVar27;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *p;\n  tcflag_t flag [4];\n  tcflag_t local_2c;\n  \n  puVar18 = PTR___stack_chk_guard_000312dc;\n  iVar16 = CONCAT31(in_register_00000010,checking);\n  local_2c = *(tcflag_t *)PTR___stack_chk_guard_000312dc;\n  if (n_settings < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  ppcVar20 = settings + unaff_s0;\n  pcVar27 = *ppcVar20;\n  iVar8 = unaff_s0;\n  if (pcVar27 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar27 == '-') {\n    pcVar27 = pcVar27 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar27 = pcVar27 + -1;\n    goto LAB_000153f8;\n  }\n  puVar23 = PTR_DAT_00031108 + -0x20ac;\n  puVar22 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);\n    puVar3 = PTR_DAT_000310f8;\n    if (iVar5 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    puVar23 = (undefined *)*puVar22;\n    iVar4 = iVar4 + 1;\n    puVar22 = puVar22 + 3;\n  } while (puVar23 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (iVar16 != 0) goto LAB_00014ae0;\n    sVar6 = string_to_baud(ppcVar20[1]);\n    pcVar26 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }\n    sVar6 = string_to_baud(pcVar27);\n    if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }\n    if (iVar16 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);\n    pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar26)(mode,sVar6);\n  *speed_was_set = true;\n  *require_set_attr = true;\njoined_r0x00014b3c:\n  while (unaff_s4 = settings, n_settings <= unaff_s0) {\nLAB_00014b48:\n    settings = unaff_s4;\n    if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }\n    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;\n    *require_set_attr = true;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *ptVar7 = tVar10;\n    ptVar7 = ptVar7 + 1;\n    pcVar17 = p + 1;\n    if (ptVar7 == &local_2c) break;\nLAB_0001550c:\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;\n  }\n  mode->c_iflag = flag[0];\n  mode->c_oflag = flag[1];\n  mode->c_cflag = flag[2];\n  mode->c_lflag = flag[3];\n  ptVar25 = mode;\n  while( true ) {\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    cVar14 = ':';\n    if ((int)ptVar25 - (int)mode == 0x1f) {\n      cVar14 = '\0';\n    }\n    uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))\n    break;\n    ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);\n    ptVar25->c_cc[0] = (cc_t)uVar11;\n    pcVar17 = p + 1;\n    ptVar25 = ptVar24;\n    if ((termios *)(mode->c_cc + 0xf) == ptVar24) {\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar18 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5);\nLAB_000153f8:\n  pcVar27 = quote(pcVar27);\n  (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n                    /* WARNING: Subroutine does not return */\n  usage(1);\n}" primitive_type (function_declarator "apply_settings(_Bool checking,char *device_name,char **settings,int n_settings,termios *mode,\n                   _Bool *speed_was_set,_Bool *require_set_attr)" identifier (parameter_list "(_Bool checking,char *device_name,char **settings,int n_settings,termios *mode,\n                   _Bool *speed_was_set,_Bool *require_set_attr)" ( (parameter_declaration "_Bool checking" type_identifier identifier) , (parameter_declaration "char *device_name" primitive_type (pointer_declarator "*device_name" * identifier)) , (parameter_declaration "char **settings" primitive_type (pointer_declarator "**settings" * (pointer_declarator "*settings" * identifier))) , (parameter_declaration "int n_settings" primitive_type identifier) , (parameter_declaration "termios *mode" type_identifier (pointer_declarator "*mode" * identifier)) , (parameter_declaration "_Bool *speed_was_set" type_identifier (pointer_declarator "*speed_was_set" * identifier)) , (parameter_declaration "_Bool *require_set_attr" type_identifier (pointer_declarator "*require_set_attr" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  speed_t sVar6;\n  byte bVar13;\n  tcflag_t *ptVar7;\n  int iVar8;\n  undefined4 uVar9;\n  tcflag_t tVar10;\n  char cVar14;\n  uint uVar11;\n  int *piVar12;\n  uint uVar15;\n  undefined3 in_register_00000010;\n  int iVar16;\n  char *pcVar17;\n  undefined *puVar18;\n  int *piVar19;\n  int unaff_s0;\n  char **ppcVar20;\n  byte *pbVar21;\n  char **unaff_s4;\n  undefined4 *puVar22;\n  undefined *puVar23;\n  termios *ptVar24;\n  termios *ptVar25;\n  code *pcVar26;\n  char *pcVar27;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *p;\n  tcflag_t flag [4];\n  tcflag_t local_2c;\n  \n  puVar18 = PTR___stack_chk_guard_000312dc;\n  iVar16 = CONCAT31(in_register_00000010,checking);\n  local_2c = *(tcflag_t *)PTR___stack_chk_guard_000312dc;\n  if (n_settings < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  ppcVar20 = settings + unaff_s0;\n  pcVar27 = *ppcVar20;\n  iVar8 = unaff_s0;\n  if (pcVar27 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar27 == '-') {\n    pcVar27 = pcVar27 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar27 = pcVar27 + -1;\n    goto LAB_000153f8;\n  }\n  puVar23 = PTR_DAT_00031108 + -0x20ac;\n  puVar22 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);\n    puVar3 = PTR_DAT_000310f8;\n    if (iVar5 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    puVar23 = (undefined *)*puVar22;\n    iVar4 = iVar4 + 1;\n    puVar22 = puVar22 + 3;\n  } while (puVar23 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (iVar16 != 0) goto LAB_00014ae0;\n    sVar6 = string_to_baud(ppcVar20[1]);\n    pcVar26 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }\n    sVar6 = string_to_baud(pcVar27);\n    if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }\n    if (iVar16 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);\n    pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar26)(mode,sVar6);\n  *speed_was_set = true;\n  *require_set_attr = true;\njoined_r0x00014b3c:\n  while (unaff_s4 = settings, n_settings <= unaff_s0) {\nLAB_00014b48:\n    settings = unaff_s4;\n    if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }\n    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;\n    *require_set_attr = true;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *ptVar7 = tVar10;\n    ptVar7 = ptVar7 + 1;\n    pcVar17 = p + 1;\n    if (ptVar7 == &local_2c) break;\nLAB_0001550c:\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;\n  }\n  mode->c_iflag = flag[0];\n  mode->c_oflag = flag[1];\n  mode->c_cflag = flag[2];\n  mode->c_lflag = flag[3];\n  ptVar25 = mode;\n  while( true ) {\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    cVar14 = ':';\n    if ((int)ptVar25 - (int)mode == 0x1f) {\n      cVar14 = '\0';\n    }\n    uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))\n    break;\n    ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);\n    ptVar25->c_cc[0] = (cc_t)uVar11;\n    pcVar17 = p + 1;\n    ptVar25 = ptVar24;\n    if ((termios *)(mode->c_cc + 0xf) == ptVar24) {\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar18 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5);\nLAB_000153f8:\n  pcVar27 = quote(pcVar27);\n  (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n                    /* WARNING: Subroutine does not return */\n  usage(1);\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "speed_t sVar6;" type_identifier identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "tcflag_t *ptVar7;" type_identifier (pointer_declarator "*ptVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "tcflag_t tVar10;" type_identifier identifier ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "undefined3 in_register_00000010;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "char **ppcVar20;" primitive_type (pointer_declarator "**ppcVar20" * (pointer_declarator "*ppcVar20" * identifier)) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "char **unaff_s4;" primitive_type (pointer_declarator "**unaff_s4" * (pointer_declarator "*unaff_s4" * identifier)) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "termios *ptVar24;" type_identifier (pointer_declarator "*ptVar24" * identifier) ;) (declaration "termios *ptVar25;" type_identifier (pointer_declarator "*ptVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "code *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "code *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "char *p;" primitive_type (pointer_declarator "*p" * identifier) ;) (declaration "tcflag_t flag [4];" type_identifier (array_declarator "flag [4]" identifier [ number_literal ]) ;) (declaration "tcflag_t local_2c;" type_identifier identifier ;) (expression_statement "puVar18 = PTR___stack_chk_guard_000312dc;" (assignment_expression "puVar18 = PTR___stack_chk_guard_000312dc" identifier = identifier) ;) (expression_statement "iVar16 = CONCAT31(in_register_00000010,checking);" (assignment_expression "iVar16 = CONCAT31(in_register_00000010,checking)" identifier = (call_expression "CONCAT31(in_register_00000010,checking)" identifier (argument_list "(in_register_00000010,checking)" ( identifier , identifier )))) ;) (expression_statement "local_2c = *(tcflag_t *)PTR___stack_chk_guard_000312dc;" (assignment_expression "local_2c = *(tcflag_t *)PTR___stack_chk_guard_000312dc" identifier = (pointer_expression "*(tcflag_t *)PTR___stack_chk_guard_000312dc" * (cast_expression "(tcflag_t *)PTR___stack_chk_guard_000312dc" ( (type_descriptor "tcflag_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (n_settings < 2) goto LAB_00014b48;" if (parenthesized_expression "(n_settings < 2)" ( (binary_expression "n_settings < 2" identifier < number_literal) )) (goto_statement "goto LAB_00014b48;" goto statement_identifier ;)) (expression_statement "unaff_s0 = 1;" (assignment_expression "unaff_s0 = 1" identifier = number_literal) ;) (expression_statement "local_6c = PTR_DAT_000310f8;" (assignment_expression "local_6c = PTR_DAT_000310f8" identifier = identifier) ;) (expression_statement "local_68 = PTR_DAT_00031108 + -0x20b4;" (assignment_expression "local_68 = PTR_DAT_00031108 + -0x20b4" identifier = (binary_expression "PTR_DAT_00031108 + -0x20b4" identifier + number_literal)) ;) (expression_statement "local_5c = PTR_DAT_00031108;" (assignment_expression "local_5c = PTR_DAT_00031108" identifier = identifier) ;) (expression_statement "local_54 = (code *)(PTR_00031104 + 0x3234);" (assignment_expression "local_54 = (code *)(PTR_00031104 + 0x3234)" identifier = (cast_expression "(code *)(PTR_00031104 + 0x3234)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00031104 + 0x3234)" ( (binary_expression "PTR_00031104 + 0x3234" identifier + number_literal) )))) ;) (expression_statement "local_48 = (code *)(PTR_00031104 + 0x33ac);" (assignment_expression "local_48 = (code *)(PTR_00031104 + 0x33ac)" identifier = (cast_expression "(code *)(PTR_00031104 + 0x33ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00031104 + 0x33ac)" ( (binary_expression "PTR_00031104 + 0x33ac" identifier + number_literal) )))) ;) (labeled_statement "LAB_00014af0:\n  ppcVar20 = settings + unaff_s0;" statement_identifier : (expression_statement "ppcVar20 = settings + unaff_s0;" (assignment_expression "ppcVar20 = settings + unaff_s0" identifier = (binary_expression "settings + unaff_s0" identifier + identifier)) ;)) (expression_statement "pcVar27 = *ppcVar20;" (assignment_expression "pcVar27 = *ppcVar20" identifier = (pointer_expression "*ppcVar20" * identifier)) ;) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (if_statement "if (pcVar27 == (char *)0x0) goto LAB_00014ae0;" if (parenthesized_expression "(pcVar27 == (char *)0x0)" ( (binary_expression "pcVar27 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (if_statement "if (*pcVar27 == '-') {\n    pcVar27 = pcVar27 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" if (parenthesized_expression "(*pcVar27 == '-')" ( (binary_expression "*pcVar27 == '-'" (pointer_expression "*pcVar27" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    pcVar27 = pcVar27 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }" { (expression_statement "pcVar27 = pcVar27 + 1;" (assignment_expression "pcVar27 = pcVar27 + 1" identifier = (binary_expression "pcVar27 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x20a4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x20a4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00014bb8;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" ( (binary_expression "PTR_DAT_000310f8 + 0x1048" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" else (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x20a4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x20a4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar22 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar17 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );\n    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00014bb8:\n      iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "puVar22 = (undefined4 *)(local_6c + 0x8f4);" (assignment_expression "puVar22 = (undefined4 *)(local_6c + 0x8f4)" identifier = (cast_expression "(undefined4 *)(local_6c + 0x8f4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6c + 0x8f4)" ( (binary_expression "local_6c + 0x8f4" identifier + number_literal) )))) ;) (expression_statement "pcVar17 = local_68;" (assignment_expression "pcVar17 = local_68" identifier = identifier) ;) (while_statement "while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0) {\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }" while (parenthesized_expression "(iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0)" ( (comma_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17), iVar5 != 0" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,pcVar17)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,pcVar17)" ( identifier , identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) )) (compound_statement "{\n        pcVar17 = (char *)*puVar22;\n        iVar4 = iVar4 + 1;\n        puVar22 = puVar22 + 5;\n        if (pcVar17 == (char *)0x0) goto LAB_00014ca0;\n      }" { (expression_statement "pcVar17 = (char *)*puVar22;" (assignment_expression "pcVar17 = (char *)*puVar22" identifier = (cast_expression "(char *)*puVar22" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 5;" (assignment_expression "puVar22 = puVar22 + 5" identifier = (binary_expression "puVar22 + 5" identifier + number_literal)) ;) (if_statement "if (pcVar17 == (char *)0x0) goto LAB_00014ca0;" if (parenthesized_expression "(pcVar17 == (char *)0x0)" ( (binary_expression "pcVar17 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014ca0;" goto statement_identifier ;)) })) (expression_statement "piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0);" (assignment_expression "piVar19 = (int *)(PTR_DAT_000310f8 + 0x8e0)" identifier = (cast_expression "(int *)(PTR_DAT_000310f8 + 0x8e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x8e0)" ( (binary_expression "PTR_DAT_000310f8 + 0x8e0" identifier + number_literal) )))) ;) (if_statement "if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;" if (parenthesized_expression "((*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0)" ( (binary_expression "(*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10)" ( (binary_expression "*(byte *)(piVar19 + iVar4 * 5 + 2) & 0x10" (pointer_expression "*(byte *)(piVar19 + iVar4 * 5 + 2)" * (cast_expression "(byte *)(piVar19 + iVar4 * 5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19 + iVar4 * 5 + 2)" ( (binary_expression "piVar19 + iVar4 * 5 + 2" (binary_expression "piVar19 + iVar4 * 5" identifier + (binary_expression "iVar4 * 5" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00014c1c;" goto statement_identifier ;)) (if_statement "if (bVar2) {\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n      }" { (if_statement "if ((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0) {\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }" if (parenthesized_expression "((*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar19 + iVar4 * 5 + 2) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar19 + iVar4 * 5 + 2) & 4)" ( (binary_expression "*(byte *)(piVar19 + iVar4 * 5 + 2) & 4" (pointer_expression "*(byte *)(piVar19 + iVar4 * 5 + 2)" * (cast_expression "(byte *)(piVar19 + iVar4 * 5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19 + iVar4 * 5 + 2)" ( (binary_expression "piVar19 + iVar4 * 5 + 2" (binary_expression "piVar19 + iVar4 * 5" identifier + (binary_expression "iVar4 * 5" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          *require_set_attr = true;\n          goto LAB_00015140;\n        }" { (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00015140;" goto statement_identifier ;) })) (expression_statement "ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);" (assignment_expression "ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode)" identifier = (call_expression "mode_type_flag(piVar19[iVar4 * 5 + 1],mode)" identifier (argument_list "(piVar19[iVar4 * 5 + 1],mode)" ( (subscript_expression "piVar19[iVar4 * 5 + 1]" identifier [ (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) , identifier )))) ;) (if_statement "if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(ptVar7 != (tcflag_t *)0x0)" ( (binary_expression "ptVar7 != (tcflag_t *)0x0" identifier != (cast_expression "(tcflag_t *)0x0" ( (type_descriptor "tcflag_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]);" (assignment_expression "*ptVar7 = *ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3])" (pointer_expression "*ptVar7" * identifier) = (binary_expression "*ptVar7 & ~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3])" (pointer_expression "*ptVar7" * identifier) & (unary_expression "~(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3])" ~ (parenthesized_expression "(piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3])" ( (binary_expression "piVar19[iVar4 * 5 + 4] | piVar19[iVar4 * 5 + 3]" (subscript_expression "piVar19[iVar4 * 5 + 4]" identifier [ (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) | (subscript_expression "piVar19[iVar4 * 5 + 3]" identifier [ (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ])) ))))) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1f90)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f90" identifier + number_literal) )))) ;) (if_statement "if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0))" ( (binary_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            )" ( (binary_expression "(iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1f88)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f88" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1f80)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f80" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;" (assignment_expression "mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "mode->c_cflag & 0xfffffecf | 0x30" (binary_expression "mode->c_cflag & 0xfffffecf" (field_expression "mode->c_cflag" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) }) (else_clause "else {\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" else (compound_statement "{\n        ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);\n        if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" { (expression_statement "ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode);" (assignment_expression "ptVar7 = mode_type_flag(piVar19[iVar4 * 5 + 1],mode)" identifier = (call_expression "mode_type_flag(piVar19[iVar4 * 5 + 1],mode)" identifier (argument_list "(piVar19[iVar4 * 5 + 1],mode)" ( (subscript_expression "piVar19[iVar4 * 5 + 1]" identifier [ (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) , identifier )))) ;) (if_statement "if (ptVar7 != (tcflag_t *)0x0) {\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(ptVar7 != (tcflag_t *)0x0)" ( (binary_expression "ptVar7 != (tcflag_t *)0x0" identifier != (cast_expression "(tcflag_t *)0x0" ( (type_descriptor "tcflag_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3];" (assignment_expression "*ptVar7 = ~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3]" (pointer_expression "*ptVar7" * identifier) = (binary_expression "~piVar19[iVar4 * 5 + 4] & *ptVar7 | piVar19[iVar4 * 5 + 3]" (binary_expression "~piVar19[iVar4 * 5 + 4] & *ptVar7" (unary_expression "~piVar19[iVar4 * 5 + 4]" ~ (subscript_expression "piVar19[iVar4 * 5 + 4]" identifier [ (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ])) & (pointer_expression "*ptVar7" * identifier)) | (subscript_expression "piVar19[iVar4 * 5 + 3]" identifier [ (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1f90)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f90" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1f88)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f88" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;" (assignment_expression "mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "mode->c_cflag & 0xfffffccf | 0x120" (binary_expression "mode->c_cflag & 0xfffffccf" (field_expression "mode->c_cflag" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1f80)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f80" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" { (expression_statement "mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;" (assignment_expression "mode->c_cflag = mode->c_cflag & 0xfffffccf | 800" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "mode->c_cflag & 0xfffffccf | 800" (binary_expression "mode->c_cflag & 0xfffffccf" (field_expression "mode->c_cflag" identifier -> field_identifier) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) }))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x1ac0)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x1ac0)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ac0" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;\n        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" { (if_statement "if (!bVar2) {\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n          mode->c_iflag = mode->c_iflag & 0xfffffeff;\n          mode->c_oflag = mode->c_oflag & 0xfffffffb;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "mode->c_iflag = mode->c_iflag & 0xfffffeff;" (assignment_expression "mode->c_iflag = mode->c_iflag & 0xfffffeff" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag & 0xfffffeff" (field_expression "mode->c_iflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "mode->c_oflag = mode->c_oflag & 0xfffffffb;" (assignment_expression "mode->c_oflag = mode->c_oflag & 0xfffffffb" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag & 0xfffffffb" (field_expression "mode->c_oflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;" (assignment_expression "mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag & 0xfffffe3f | 0x100" (binary_expression "mode->c_iflag & 0xfffffe3f" (field_expression "mode->c_iflag" identifier -> field_identifier) & number_literal) | number_literal)) ;) (expression_statement "mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;" (assignment_expression "mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag & 0xffffffd3 | 4" (binary_expression "mode->c_oflag & 0xffffffd3" (field_expression "mode->c_oflag" identifier -> field_identifier) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x209c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x209c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x209c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        mode->c_cc[2] = '\x7f';\n        mode->c_cc[3] = '\x15';\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }" { (expression_statement "mode->c_cc[2] = '\x7f';" (assignment_expression "mode->c_cc[2] = '\x7f'" (subscript_expression "mode->c_cc[2]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\x7f'" ' escape_sequence ')) ;) (expression_statement "mode->c_cc[3] = '\x15';" (assignment_expression "mode->c_cc[3] = '\x15'" (subscript_expression "mode->c_cc[3]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\x15'" ' escape_sequence ')) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2098)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2098)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2098" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x207c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x207c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x207c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar11 = mode->c_lflag;\n          if (!bVar2) goto LAB_00015634;\n          mode->c_lflag = uVar11 | 2;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "uVar11 = mode->c_lflag;" (assignment_expression "uVar11 = mode->c_lflag" identifier = (field_expression "mode->c_lflag" identifier -> field_identifier)) ;) (if_statement "if (!bVar2) goto LAB_00015634;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_00015634;" goto statement_identifier ;)) (expression_statement "mode->c_lflag = uVar11 | 2;" (assignment_expression "mode->c_lflag = uVar11 | 2" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "uVar11 | 2" identifier | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2074)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2074)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2074" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x20;\n          mode->c_cflag = uVar11 | 0x120;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "uVar11 = mode->c_cflag & 0xfffffecf;" (assignment_expression "uVar11 = mode->c_cflag & 0xfffffecf" identifier = (binary_expression "mode->c_cflag & 0xfffffecf" (field_expression "mode->c_cflag" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_cflag = uVar11 | 0x30;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "mode->c_iflag = mode->c_iflag & 0xffffffdf;" (assignment_expression "mode->c_iflag = mode->c_iflag & 0xffffffdf" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag & 0xffffffdf" (field_expression "mode->c_iflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "mode->c_cflag = uVar11 | 0x30;" (assignment_expression "mode->c_cflag = uVar11 | 0x30" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "uVar11 | 0x30" identifier | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "mode->c_iflag = mode->c_iflag | 0x20;" (assignment_expression "mode->c_iflag = mode->c_iflag | 0x20" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag | 0x20" (field_expression "mode->c_iflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "mode->c_cflag = uVar11 | 0x120;" (assignment_expression "mode->c_cflag = uVar11 | 0x120" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "uVar11 | 0x120" identifier | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x206c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x206c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x206c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar11 = mode->c_cflag & 0xfffffecf;\n          if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 1;\n          mode->c_cflag = uVar11 | 0x120;\n          mode->c_iflag = mode->c_iflag | 0x20;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (expression_statement "uVar11 = mode->c_cflag & 0xfffffecf;" (assignment_expression "uVar11 = mode->c_cflag & 0xfffffecf" identifier = (binary_expression "mode->c_cflag & 0xfffffecf" (field_expression "mode->c_cflag" identifier -> field_identifier) & number_literal)) ;) (if_statement "if (!bVar2) {\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            mode->c_cflag = uVar11 | 0x30;\n            mode->c_iflag = mode->c_iflag & 0xffffffdf;\n            mode->c_oflag = mode->c_oflag & 0xfffffffe;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "mode->c_cflag = uVar11 | 0x30;" (assignment_expression "mode->c_cflag = uVar11 | 0x30" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "uVar11 | 0x30" identifier | number_literal)) ;) (expression_statement "mode->c_iflag = mode->c_iflag & 0xffffffdf;" (assignment_expression "mode->c_iflag = mode->c_iflag & 0xffffffdf" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag & 0xffffffdf" (field_expression "mode->c_iflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "mode->c_oflag = mode->c_oflag & 0xfffffffe;" (assignment_expression "mode->c_oflag = mode->c_oflag & 0xfffffffe" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag & 0xfffffffe" (field_expression "mode->c_oflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "mode->c_oflag = mode->c_oflag | 1;" (assignment_expression "mode->c_oflag = mode->c_oflag | 1" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag | 1" (field_expression "mode->c_oflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "mode->c_cflag = uVar11 | 0x120;" (assignment_expression "mode->c_cflag = uVar11 | 0x120" (field_expression "mode->c_cflag" identifier -> field_identifier) = (binary_expression "uVar11 | 0x120" identifier | number_literal)) ;) (expression_statement "mode->c_iflag = mode->c_iflag | 0x20;" (assignment_expression "mode->c_iflag = mode->c_iflag | 0x20" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag | 0x20" (field_expression "mode->c_iflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2064)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2064)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2064" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2060)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2060)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2060" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          uVar15 = mode->c_oflag;\n          uVar11 = mode->c_lflag;\n          mode->c_iflag = 0;\n          mode->c_cc[5] = '\0';\n          mode->c_oflag = uVar15 & 0xfffffffe;\n          mode->c_cc[4] = '\x01';\n          mode->c_lflag = uVar11 & 0xfffffff8;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (*pcVar17 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(*pcVar17 == 'r')" ( (binary_expression "*pcVar17 == 'r'" (pointer_expression "*pcVar17" * identifier) == (char_literal "'r'" ' character ')) )) (compound_statement "{\n            if (bVar2) goto LAB_000159a8;\n          }" { (if_statement "if (bVar2) goto LAB_000159a8;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000159a8;" goto statement_identifier ;)) }) (else_clause "else if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" else (if_statement "if ((*pcVar17 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "((*pcVar17 == 'c') && (!bVar2))" ( (binary_expression "(*pcVar17 == 'c') && (!bVar2)" (parenthesized_expression "(*pcVar17 == 'c')" ( (binary_expression "*pcVar17 == 'c'" (pointer_expression "*pcVar17" * identifier) == (char_literal "'c'" ' character ')) )) && (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) ))) )) (compound_statement "{\nLAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;\n            mode->c_lflag = mode->c_lflag | 3;\n            mode->c_iflag = mode->c_iflag | 0x526;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (labeled_statement "LAB_000159a8:\n            mode->c_oflag = mode->c_oflag | 1;" statement_identifier : (expression_statement "mode->c_oflag = mode->c_oflag | 1;" (assignment_expression "mode->c_oflag = mode->c_oflag | 1" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag | 1" (field_expression "mode->c_oflag" identifier -> field_identifier) | number_literal)) ;)) (expression_statement "mode->c_lflag = mode->c_lflag | 3;" (assignment_expression "mode->c_lflag = mode->c_lflag | 3" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "mode->c_lflag | 3" (field_expression "mode->c_lflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "mode->c_iflag = mode->c_iflag | 0x526;" (assignment_expression "mode->c_iflag = mode->c_iflag | 0x526" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag | 0x526" (field_expression "mode->c_iflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })))) (expression_statement "uVar15 = mode->c_oflag;" (assignment_expression "uVar15 = mode->c_oflag" identifier = (field_expression "mode->c_oflag" identifier -> field_identifier)) ;) (expression_statement "uVar11 = mode->c_lflag;" (assignment_expression "uVar11 = mode->c_lflag" identifier = (field_expression "mode->c_lflag" identifier -> field_identifier)) ;) (expression_statement "mode->c_iflag = 0;" (assignment_expression "mode->c_iflag = 0" (field_expression "mode->c_iflag" identifier -> field_identifier) = number_literal) ;) (expression_statement "mode->c_cc[5] = '\0';" (assignment_expression "mode->c_cc[5] = '\0'" (subscript_expression "mode->c_cc[5]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "mode->c_oflag = uVar15 & 0xfffffffe;" (assignment_expression "mode->c_oflag = uVar15 & 0xfffffffe" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "uVar15 & 0xfffffffe" identifier & number_literal)) ;) (expression_statement "mode->c_cc[4] = '\x01';" (assignment_expression "mode->c_cc[4] = '\x01'" (subscript_expression "mode->c_cc[4]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) (expression_statement "mode->c_lflag = uVar11 & 0xfffffff8;" (assignment_expression "mode->c_lflag = uVar11 & 0xfffffff8" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "uVar11 & 0xfffffff8" identifier & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2058)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2058)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2058" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_iflag = mode->c_iflag | 0x800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            mode->c_iflag = mode->c_iflag & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "mode->c_iflag = mode->c_iflag & 0xfffff7ff;" (assignment_expression "mode->c_iflag = mode->c_iflag & 0xfffff7ff" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag & 0xfffff7ff" (field_expression "mode->c_iflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "mode->c_iflag = mode->c_iflag | 0x800;" (assignment_expression "mode->c_iflag = mode->c_iflag | 0x800" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag | 0x800" (field_expression "mode->c_iflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2050)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2050)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2050" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_oflag = mode->c_oflag | 0x1800;\n          *require_set_attr = true;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            mode->c_oflag = mode->c_oflag & 0xffffe7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "mode->c_oflag = mode->c_oflag & 0xffffe7ff;" (assignment_expression "mode->c_oflag = mode->c_oflag & 0xffffe7ff" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag & 0xffffe7ff" (field_expression "mode->c_oflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "mode->c_oflag = mode->c_oflag | 0x1800;" (assignment_expression "mode->c_oflag = mode->c_oflag | 0x1800" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag | 0x1800" (field_expression "mode->c_oflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2048)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2048)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2048" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2040)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2040)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2040" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          mode->c_lflag = mode->c_lflag | 4;\n          mode->c_iflag = mode->c_iflag | 0x200;\n          mode->c_oflag = mode->c_oflag | 2;\n        }" { (if_statement "if (bVar2) {\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            mode->c_lflag = mode->c_lflag & 0xfffffffb;\n            mode->c_iflag = mode->c_iflag & 0xfffffdff;\n            mode->c_oflag = mode->c_oflag & 0xfffffffd;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "mode->c_lflag = mode->c_lflag & 0xfffffffb;" (assignment_expression "mode->c_lflag = mode->c_lflag & 0xfffffffb" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "mode->c_lflag & 0xfffffffb" (field_expression "mode->c_lflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "mode->c_iflag = mode->c_iflag & 0xfffffdff;" (assignment_expression "mode->c_iflag = mode->c_iflag & 0xfffffdff" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag & 0xfffffdff" (field_expression "mode->c_iflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "mode->c_oflag = mode->c_oflag & 0xfffffffd;" (assignment_expression "mode->c_oflag = mode->c_oflag & 0xfffffffd" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag & 0xfffffffd" (field_expression "mode->c_oflag" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "mode->c_lflag = mode->c_lflag | 4;" (assignment_expression "mode->c_lflag = mode->c_lflag | 4" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "mode->c_lflag | 4" (field_expression "mode->c_lflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "mode->c_iflag = mode->c_iflag | 0x200;" (assignment_expression "mode->c_iflag = mode->c_iflag | 0x200" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "mode->c_iflag | 0x200" (field_expression "mode->c_iflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "mode->c_oflag = mode->c_oflag | 2;" (assignment_expression "mode->c_oflag = mode->c_oflag | 2" (field_expression "mode->c_oflag" identifier -> field_identifier) = (binary_expression "mode->c_oflag | 2" (field_expression "mode->c_oflag" identifier -> field_identifier) | number_literal)) ;) }) (else_clause "else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }" else (compound_statement "{\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }\n        }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2038)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2038)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2038" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            mode->c_lflag = mode->c_lflag | 0xa10;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "mode->c_lflag = mode->c_lflag | 0xa10;" (assignment_expression "mode->c_lflag = mode->c_lflag | 0xa10" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "mode->c_lflag | 0xa10" (field_expression "mode->c_lflag" identifier -> field_identifier) | number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar17,PTR_DAT_00031108 + -0x2034)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,PTR_DAT_00031108 + -0x2034)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2034" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar15 = mode->c_lflag;\n            uVar11 = mode->c_iflag;\n            mode->c_cc[0] = '\x03';\n            mode->c_cc[2] = '\x7f';\n            mode->c_lflag = uVar15 | 0xa10;\n            mode->c_cc[3] = '\x15';\n            mode->c_iflag = uVar11 & 0xfffff7ff;\n            *require_set_attr = true;\n            goto LAB_00014ae0;\n          }" { (expression_statement "uVar15 = mode->c_lflag;" (assignment_expression "uVar15 = mode->c_lflag" identifier = (field_expression "mode->c_lflag" identifier -> field_identifier)) ;) (expression_statement "uVar11 = mode->c_iflag;" (assignment_expression "uVar11 = mode->c_iflag" identifier = (field_expression "mode->c_iflag" identifier -> field_identifier)) ;) (expression_statement "mode->c_cc[0] = '\x03';" (assignment_expression "mode->c_cc[0] = '\x03'" (subscript_expression "mode->c_cc[0]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\x03'" ' escape_sequence ')) ;) (expression_statement "mode->c_cc[2] = '\x7f';" (assignment_expression "mode->c_cc[2] = '\x7f'" (subscript_expression "mode->c_cc[2]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\x7f'" ' escape_sequence ')) ;) (expression_statement "mode->c_lflag = uVar15 | 0xa10;" (assignment_expression "mode->c_lflag = uVar15 | 0xa10" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "uVar15 | 0xa10" identifier | number_literal)) ;) (expression_statement "mode->c_cc[3] = '\x15';" (assignment_expression "mode->c_cc[3] = '\x15'" (subscript_expression "mode->c_cc[3]" (field_expression "mode->c_cc" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\x15'" ' escape_sequence ')) ;) (expression_statement "mode->c_iflag = uVar11 & 0xfffff7ff;" (assignment_expression "mode->c_iflag = uVar11 & 0xfffff7ff" (field_expression "mode->c_iflag" identifier -> field_identifier) = (binary_expression "uVar11 & 0xfffff7ff" identifier & number_literal)) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) (expression_statement "piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc);" (assignment_expression "piVar12 = (int *)(PTR_DAT_000310f8 + 0x7fc)" identifier = (cast_expression "(int *)(PTR_DAT_000310f8 + 0x7fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x7fc)" ( (binary_expression "PTR_DAT_000310f8 + 0x7fc" identifier + number_literal) )))) ;) (while_statement "while (*piVar12 != 0) {\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }" while (parenthesized_expression "(*piVar12 != 0)" ( (binary_expression "*piVar12 != 0" (pointer_expression "*piVar12" * identifier) != number_literal) )) (compound_statement "{\n        mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);\n        piVar12 = piVar12 + 3;\n      }" { (expression_statement "mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1);" (assignment_expression "mode->c_cc[piVar12[2]] = *(cc_t *)(piVar12 + 1)" (subscript_expression "mode->c_cc[piVar12[2]]" (field_expression "mode->c_cc" identifier -> field_identifier) [ (subscript_expression "piVar12[2]" identifier [ number_literal ]) ]) = (pointer_expression "*(cc_t *)(piVar12 + 1)" * (cast_expression "(cc_t *)(piVar12 + 1)" ( (type_descriptor "cc_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12 + 1)" ( (binary_expression "piVar12 + 1" identifier + number_literal) ))))) ;) (expression_statement "piVar12 = piVar12 + 3;" (assignment_expression "piVar12 = piVar12 + 3" identifier = (binary_expression "piVar12 + 3" identifier + number_literal)) ;) })) (do_statement "do {\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      } while( true );" do (compound_statement "{\n        while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }\n        if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }\n        if ((bVar13 & 2) == 0) goto LAB_00015734;\n        ptVar7 = mode_type_flag(piVar19[1],mode);\n        if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);\n        piVar19 = piVar19 + 5;\n      }" { (while_statement "while( true ) {\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (*piVar19 == 0) goto LAB_00015240;\n          bVar13 = *(byte *)(piVar19 + 2);\n          if ((bVar13 & 0x10) == 0) break;\nLAB_00015734:\n          piVar19 = piVar19 + 5;\n        }" { (if_statement "if (*piVar19 == 0) goto LAB_00015240;" if (parenthesized_expression "(*piVar19 == 0)" ( (binary_expression "*piVar19 == 0" (pointer_expression "*piVar19" * identifier) == number_literal) )) (goto_statement "goto LAB_00015240;" goto statement_identifier ;)) (expression_statement "bVar13 = *(byte *)(piVar19 + 2);" (assignment_expression "bVar13 = *(byte *)(piVar19 + 2)" identifier = (pointer_expression "*(byte *)(piVar19 + 2)" * (cast_expression "(byte *)(piVar19 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar19 + 2)" ( (binary_expression "piVar19 + 2" identifier + number_literal) ))))) ;) (if_statement "if ((bVar13 & 0x10) == 0) break;" if (parenthesized_expression "((bVar13 & 0x10) == 0)" ( (binary_expression "(bVar13 & 0x10) == 0" (parenthesized_expression "(bVar13 & 0x10)" ( (binary_expression "bVar13 & 0x10" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00015734:\n          piVar19 = piVar19 + 5;" statement_identifier : (expression_statement "piVar19 = piVar19 + 5;" (assignment_expression "piVar19 = piVar19 + 5" identifier = (binary_expression "piVar19 + 5" identifier + number_literal)) ;)) })) (if_statement "if ((bVar13 & 1) != 0) {\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }" if (parenthesized_expression "((bVar13 & 1) != 0)" ( (binary_expression "(bVar13 & 1) != 0" (parenthesized_expression "(bVar13 & 1)" ( (binary_expression "bVar13 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          ptVar7 = mode_type_flag(piVar19[1],mode);\n          if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];\n          goto LAB_00015734;\n        }" { (expression_statement "ptVar7 = mode_type_flag(piVar19[1],mode);" (assignment_expression "ptVar7 = mode_type_flag(piVar19[1],mode)" identifier = (call_expression "mode_type_flag(piVar19[1],mode)" identifier (argument_list "(piVar19[1],mode)" ( (subscript_expression "piVar19[1]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (ptVar7 == (tcflag_t *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" if (parenthesized_expression "(ptVar7 == (tcflag_t *)0x0)" ( (binary_expression "ptVar7 == (tcflag_t *)0x0" identifier == (cast_expression "(tcflag_t *)0x0" ( (type_descriptor "tcflag_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" { (expression_statement "uVar9 = 0x8cb;" (assignment_expression "uVar9 = 0x8cb" identifier = number_literal) ;) (goto_statement "goto LAB_00015808;" goto statement_identifier ;) })) (expression_statement "*ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3];" (assignment_expression "*ptVar7 = ~piVar19[4] & *ptVar7 | piVar19[3]" (pointer_expression "*ptVar7" * identifier) = (binary_expression "~piVar19[4] & *ptVar7 | piVar19[3]" (binary_expression "~piVar19[4] & *ptVar7" (unary_expression "~piVar19[4]" ~ (subscript_expression "piVar19[4]" identifier [ number_literal ])) & (pointer_expression "*ptVar7" * identifier)) | (subscript_expression "piVar19[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00015734;" goto statement_identifier ;) })) (if_statement "if ((bVar13 & 2) == 0) goto LAB_00015734;" if (parenthesized_expression "((bVar13 & 2) == 0)" ( (binary_expression "(bVar13 & 2) == 0" (parenthesized_expression "(bVar13 & 2)" ( (binary_expression "bVar13 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00015734;" goto statement_identifier ;)) (expression_statement "ptVar7 = mode_type_flag(piVar19[1],mode);" (assignment_expression "ptVar7 = mode_type_flag(piVar19[1],mode)" identifier = (call_expression "mode_type_flag(piVar19[1],mode)" identifier (argument_list "(piVar19[1],mode)" ( (subscript_expression "piVar19[1]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (ptVar7 == (tcflag_t *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" if (parenthesized_expression "(ptVar7 == (tcflag_t *)0x0)" ( (binary_expression "ptVar7 == (tcflag_t *)0x0" identifier == (cast_expression "(tcflag_t *)0x0" ( (type_descriptor "tcflag_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" { (expression_statement "uVar9 = 0x8d1;" (assignment_expression "uVar9 = 0x8d1" identifier = number_literal) ;) (labeled_statement "LAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" (call_expression "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000311f4)" ( (pointer_expression "*(code *)PTR___assert_fail_000311f4" * (cast_expression "(code *)PTR___assert_fail_000311f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" ( (binary_expression "PTR_DAT_00031108 + -0x2084" identifier + number_literal) , (binary_expression "PTR_DAT_00031108 + -0x2090" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_00031108 + -0x1a4c" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "*ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3]);" (assignment_expression "*ptVar7 = *ptVar7 & ~(piVar19[4] | piVar19[3])" (pointer_expression "*ptVar7" * identifier) = (binary_expression "*ptVar7 & ~(piVar19[4] | piVar19[3])" (pointer_expression "*ptVar7" * identifier) & (unary_expression "~(piVar19[4] | piVar19[3])" ~ (parenthesized_expression "(piVar19[4] | piVar19[3])" ( (binary_expression "piVar19[4] | piVar19[3]" (subscript_expression "piVar19[4]" identifier [ number_literal ]) | (subscript_expression "piVar19[3]" identifier [ number_literal ])) ))))) ;) (expression_statement "piVar19 = piVar19 + 5;" (assignment_expression "piVar19 = piVar19 + 5" identifier = (binary_expression "piVar19 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" ( (binary_expression "PTR_DAT_000310f8 + 0x1048" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) (labeled_statement "LAB_00014ca0:\n  iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (if_statement "if (bVar2) {\nLAB_00015140:\n    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar27 = pcVar27 + -1;\n    goto LAB_000153f8;\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_00015140:\n    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar27 = pcVar27 + -1;\n    goto LAB_000153f8;\n  }" { (labeled_statement "LAB_00015140:\n    uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" statement_identifier : (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_00031108 + -0x2030,5)" ( number_literal , (binary_expression "PTR_DAT_00031108 + -0x2030" identifier + number_literal) , number_literal )))) ;)) (expression_statement "pcVar27 = pcVar27 + -1;" (assignment_expression "pcVar27 = pcVar27 + -1" identifier = (binary_expression "pcVar27 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_000153f8;" goto statement_identifier ;) })) (expression_statement "puVar23 = PTR_DAT_00031108 + -0x20ac;" (assignment_expression "puVar23 = PTR_DAT_00031108 + -0x20ac" identifier = (binary_expression "PTR_DAT_00031108 + -0x20ac" identifier + number_literal)) ;) (expression_statement "puVar22 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);" (assignment_expression "puVar22 = (undefined4 *)(PTR_DAT_000310f8 + 0x808)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x808)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x808)" ( (binary_expression "PTR_DAT_000310f8 + 0x808" identifier + number_literal) )))) ;) (do_statement "do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);\n    puVar3 = PTR_DAT_000310f8;\n    if (iVar5 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    puVar23 = (undefined *)*puVar22;\n    iVar4 = iVar4 + 1;\n    puVar22 = puVar22 + 3;\n  } while (puVar23 != (undefined *)0x0);" do (compound_statement "{\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);\n    puVar3 = PTR_DAT_000310f8;\n    if (iVar5 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    puVar23 = (undefined *)*puVar22;\n    iVar4 = iVar4 + 1;\n    puVar22 = puVar22 + 3;\n  }" { (expression_statement "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23);" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,puVar23)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,puVar23)" ( identifier , identifier )))) ;) (expression_statement "puVar3 = PTR_DAT_000310f8;" (assignment_expression "puVar3 = PTR_DAT_000310f8" identifier = identifier) ;) (if_statement "if (iVar5 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if ((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))\n      {\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0))" ( (binary_expression "(n_settings + -1 != unaff_s0) && (pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0)" (parenthesized_expression "(n_settings + -1 != unaff_s0)" ( (binary_expression "n_settings + -1 != unaff_s0" (binary_expression "n_settings + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0)" ( (comma_expression "pbVar21 = (byte *)ppcVar20[1], pbVar21 != (byte *)0x0" (assignment_expression "pbVar21 = (byte *)ppcVar20[1]" identifier = (cast_expression "(byte *)ppcVar20[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppcVar20[1]" identifier [ number_literal ]))) , (binary_expression "pbVar21 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);\n        if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }\n        bVar13 = (*local_54)(pbVar21,0xff);\nLAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;\n        *require_set_attr = true;\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004);" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2004)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23,PTR_DAT_00031108 + -0x2004)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2004" identifier + number_literal) )))) ;) (if_statement "if ((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))\n        {\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }" if (parenthesized_expression "((iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0))" ( (binary_expression "(iVar5 != 0) &&\n           (iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0)" ( (comma_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000), iVar5 != 0" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar23,PTR_DAT_00031108 + -0x2000)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar23,PTR_DAT_00031108 + -0x2000)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2000" identifier + number_literal) )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          bVar13 = *pbVar21;\n          if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;\n          iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);\n          if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }\n          if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }\n        }" { (expression_statement "bVar13 = *pbVar21;" (assignment_expression "bVar13 = *pbVar21" identifier = (pointer_expression "*pbVar21" * identifier)) ;) (if_statement "if ((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)) goto LAB_00014d64;" if (parenthesized_expression "((bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0))" ( (binary_expression "(bVar13 == 0) || (bVar1 = pbVar21[1], bVar1 == 0)" (parenthesized_expression "(bVar13 == 0)" ( (binary_expression "bVar13 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar1 = pbVar21[1], bVar1 == 0)" ( (comma_expression "bVar1 = pbVar21[1], bVar1 == 0" (assignment_expression "bVar1 = pbVar21[1]" identifier = (subscript_expression "pbVar21[1]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;)) (expression_statement "iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8);" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff8)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,PTR_DAT_00031108 + -0x1ff8)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ff8" identifier + number_literal) )))) ;) (if_statement "if ((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )) {\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }" if (parenthesized_expression "((iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             ))" ( (binary_expression "(iVar5 == 0) ||\n             (iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0\n             )" ( (comma_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4), iVar5 == 0" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar21,PTR_DAT_00031108 + -0x1ff4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar21,PTR_DAT_00031108 + -0x1ff4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ff4" identifier + number_literal) )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n            bVar13 = 0;\n            goto LAB_00014d64;\n          }" { (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) (if_statement "if (bVar13 == 0x5e) {\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }" if (parenthesized_expression "(bVar13 == 0x5e)" ( (binary_expression "bVar13 == 0x5e" identifier == number_literal) )) (compound_statement "{\n            if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }\n            goto LAB_00014d64;\n          }" { (if_statement "if (bVar1 == 0x3f) {\n              bVar13 = 0x7f;\n            }\n            else {\n              bVar13 = bVar1 & 0x9f;\n            }" if (parenthesized_expression "(bVar1 == 0x3f)" ( (binary_expression "bVar1 == 0x3f" identifier == number_literal) )) (compound_statement "{\n              bVar13 = 0x7f;\n            }" { (expression_statement "bVar13 = 0x7f;" (assignment_expression "bVar13 = 0x7f" identifier = number_literal) ;) }) (else_clause "else {\n              bVar13 = bVar1 & 0x9f;\n            }" else (compound_statement "{\n              bVar13 = bVar1 & 0x9f;\n            }" { (expression_statement "bVar13 = bVar1 & 0x9f;" (assignment_expression "bVar13 = bVar1 & 0x9f" identifier = (binary_expression "bVar1 & 0x9f" identifier & number_literal)) ;) }))) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) })) (expression_statement "bVar13 = (*local_54)(pbVar21,0xff);" (assignment_expression "bVar13 = (*local_54)(pbVar21,0xff)" identifier = (call_expression "(*local_54)(pbVar21,0xff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(pbVar21,0xff)" ( identifier , number_literal )))) ;) (labeled_statement "LAB_00014d64:\n        mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;" statement_identifier : (expression_statement "mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13;" (assignment_expression "mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)] = bVar13" (subscript_expression "mode->c_cc[*(int *)(puVar3 + iVar4 * 0xc + 0x804)]" (field_expression "mode->c_cc" identifier -> field_identifier) [ (pointer_expression "*(int *)(puVar3 + iVar4 * 0xc + 0x804)" * (cast_expression "(int *)(puVar3 + iVar4 * 0xc + 0x804)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + iVar4 * 0xc + 0x804)" ( (binary_expression "puVar3 + iVar4 * 0xc + 0x804" (binary_expression "puVar3 + iVar4 * 0xc" identifier + (binary_expression "iVar4 * 0xc" identifier * number_literal)) + number_literal) )))) ]) = identifier) ;)) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "puVar23 = (undefined *)*puVar22;" (assignment_expression "puVar23 = (undefined *)*puVar22" identifier = (cast_expression "(undefined *)*puVar22" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar22" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 3;" (assignment_expression "puVar22 = puVar22 + 3" identifier = (binary_expression "puVar22 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar23 != (undefined *)0x0)" ( (binary_expression "puVar23 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,local_5c + -0x1fec)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,local_5c + -0x1fec)" ( identifier , (binary_expression "local_5c + -0x1fec" identifier + number_literal) )))) ;)) (if_statement "if (iVar4 == 0) {\n    if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (iVar16 != 0) goto LAB_00014ae0;\n    sVar6 = string_to_baud(ppcVar20[1]);\n    pcVar26 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }\n    sVar6 = string_to_baud(pcVar27);\n    if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }\n    if (iVar16 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);\n    pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (iVar16 != 0) goto LAB_00014ae0;\n    sVar6 = string_to_baud(ppcVar20[1]);\n    pcVar26 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }" { (if_statement "if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;" if (parenthesized_expression "((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0))" ( (binary_expression "(n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)" (parenthesized_expression "(n_settings + -1 == unaff_s0)" ( (binary_expression "n_settings + -1 == unaff_s0" (binary_expression "n_settings + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(ppcVar20[1] == (char *)0x0)" ( (binary_expression "ppcVar20[1] == (char *)0x0" (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "sVar6 = string_to_baud(ppcVar20[1]);" (assignment_expression "sVar6 = string_to_baud(ppcVar20[1])" identifier = (call_expression "string_to_baud(ppcVar20[1])" identifier (argument_list "(ppcVar20[1])" ( (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar26 = (code *)PTR_cfsetispeed_00031268;" (assignment_expression "pcVar26 = (code *)PTR_cfsetispeed_00031268" identifier = (cast_expression "(code *)PTR_cfsetispeed_00031268" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;" statement_identifier : (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }\n    sVar6 = string_to_baud(pcVar27);\n    if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }\n    if (iVar16 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);\n    pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n  }" else (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }\n    sVar6 = string_to_baud(pcVar27);\n    if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }\n    if (iVar16 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);\n    pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n  }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fe4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1fe4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fe4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (iVar16 != 0) goto LAB_00014ae0;\n      sVar6 = string_to_baud(ppcVar20[1]);\n      pcVar26 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" { (if_statement "if ((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;" if (parenthesized_expression "((n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0))" ( (binary_expression "(n_settings + -1 == unaff_s0) || (ppcVar20[1] == (char *)0x0)" (parenthesized_expression "(n_settings + -1 == unaff_s0)" ( (binary_expression "n_settings + -1 == unaff_s0" (binary_expression "n_settings + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(ppcVar20[1] == (char *)0x0)" ( (binary_expression "ppcVar20[1] == (char *)0x0" (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "sVar6 = string_to_baud(ppcVar20[1]);" (assignment_expression "sVar6 = string_to_baud(ppcVar20[1])" identifier = (call_expression "string_to_baud(ppcVar20[1])" identifier (argument_list "(ppcVar20[1])" ( (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) )))) ;) (expression_statement "pcVar26 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar26 = (code *)PTR_cfsetospeed_000312d0" identifier = (cast_expression "(code *)PTR_cfsetospeed_000312d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00014c78;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fdc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1fdc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fdc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" { (if_statement "if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0))" ( (binary_expression "(n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)" (parenthesized_expression "(n_settings + -1 != unaff_s0)" ( (binary_expression "n_settings + -1 != unaff_s0" (binary_expression "n_settings + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(ppcVar20[1] != (char *)0x0)" ( (binary_expression "ppcVar20[1] != (char *)0x0" (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,device_name);\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(ppcVar20[1],0x7fffffff)" identifier = (call_expression "(*local_54)(ppcVar20[1],0x7fffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(ppcVar20[1],0x7fffffff)" ( (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "(*local_48)(uVar9,0xffffffff,device_name);" (call_expression "(*local_48)(uVar9,0xffffffff,device_name)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(uVar9,0xffffffff,device_name)" ( identifier , number_literal , identifier ))) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (labeled_statement "LAB_000153d8:\n      puVar18 = PTR_DAT_00031108 + -0x201c;" statement_identifier : (expression_statement "puVar18 = PTR_DAT_00031108 + -0x201c;" (assignment_expression "puVar18 = PTR_DAT_00031108 + -0x201c" identifier = (binary_expression "PTR_DAT_00031108 + -0x201c" identifier + number_literal)) ;)) (goto_statement "goto LAB_000153e8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fd4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1fd4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fd4" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fcc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1fcc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fcc" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if ((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)) {\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0))" ( (binary_expression "(n_settings + -1 != unaff_s0) && (ppcVar20[1] != (char *)0x0)" (parenthesized_expression "(n_settings + -1 != unaff_s0)" ( (binary_expression "n_settings + -1 != unaff_s0" (binary_expression "n_settings + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(ppcVar20[1] != (char *)0x0)" ( (binary_expression "ppcVar20[1] != (char *)0x0" (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (iVar16 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,device_name);\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(ppcVar20[1],0x7fffffff)" identifier = (call_expression "(*local_54)(ppcVar20[1],0x7fffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(ppcVar20[1],0x7fffffff)" ( (subscript_expression "ppcVar20[1]" identifier [ number_literal ]) , number_literal )))) ;) (expression_statement "(*local_48)(0xffffffff,uVar9,device_name);" (call_expression "(*local_48)(0xffffffff,uVar9,device_name)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(0xffffffff,uVar9,device_name)" ( number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fc4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1fc4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fc4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      display_window_size(false,device_name);\n      goto joined_r0x00014b3c;\n    }" { (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = screen_columns();" (assignment_expression "iVar8 = screen_columns()" identifier = (call_expression "screen_columns()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;" (assignment_expression "*(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8" (pointer_expression "*(int *)(PTR_DAT_000310f8 + 0x13cc)" * (cast_expression "(int *)(PTR_DAT_000310f8 + 0x13cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" ( (binary_expression "PTR_DAT_000310f8 + 0x13cc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13c8)" ( (binary_expression "PTR_DAT_000310f8 + 0x13c8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "display_window_size(false,device_name);" (call_expression "display_window_size(false,device_name)" identifier (argument_list "(false,device_name)" ( false , identifier ))) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1fbc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1fbc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fbc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if (n_settings + -1 != unaff_s0) {\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }" if (parenthesized_expression "(n_settings + -1 != unaff_s0)" ( (binary_expression "n_settings + -1 != unaff_s0" (binary_expression "n_settings + -1" identifier + number_literal) != identifier) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        pcVar17 = settings[iVar8];\n        if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pcVar17 = settings[iVar8];" (assignment_expression "pcVar17 = settings[iVar8]" identifier = (subscript_expression "settings[iVar8]" identifier [ identifier ])) ;) (if_statement "if (pcVar17 != (char *)0x0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }" if (parenthesized_expression "(pcVar17 != (char *)0x0)" ( (binary_expression "pcVar17 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s0 = unaff_s0 + 1;\n          uVar11 = (*local_54)(pcVar17,0xffffffff);\n          mode->c_line = (cc_t)uVar11;\n          if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }\n          goto LAB_00015240;\n        }" { (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = (*local_54)(pcVar17,0xffffffff);" (assignment_expression "uVar11 = (*local_54)(pcVar17,0xffffffff)" identifier = (call_expression "(*local_54)(pcVar17,0xffffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(pcVar17,0xffffffff)" ( identifier , number_literal )))) ;) (expression_statement "mode->c_line = (cc_t)uVar11;" (assignment_expression "mode->c_line = (cc_t)uVar11" (field_expression "mode->c_line" identifier -> field_identifier) = (cast_expression "(cc_t)uVar11" ( (type_descriptor "cc_t" type_identifier) ) identifier)) ;) (if_statement "if (uVar11 != (uVar11 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }" if (parenthesized_expression "(uVar11 != (uVar11 & 0xff))" ( (binary_expression "uVar11 != (uVar11 & 0xff)" identifier != (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) ))) )) (compound_statement "{\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            pcVar27 = quote(settings[iVar8]);\n            (*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);\n          }" { (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_00031108 + -0x1fb4,5)" ( number_literal , (binary_expression "PTR_DAT_00031108 + -0x1fb4" identifier + number_literal) , number_literal )))) ;) (expression_statement "pcVar27 = quote(settings[iVar8]);" (assignment_expression "pcVar27 = quote(settings[iVar8])" identifier = (call_expression "quote(settings[iVar8])" identifier (argument_list "(settings[iVar8])" ( (subscript_expression "settings[iVar8]" identifier [ identifier ]) )))) ;) (expression_statement "(*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);" (call_expression "(*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27)" (parenthesized_expression "(*(code *)PTR_error_00031298)" ( (pointer_expression "*(code *)PTR_error_00031298" * (cast_expression "(code *)PTR_error_00031298" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,uVar9,pcVar27)" ( number_literal , number_literal , identifier , identifier ))) ;) })) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar27,PTR_DAT_00031108 + -0x1f98)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar27,PTR_DAT_00031108 + -0x1f98)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f98" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (iVar16 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      iVar8 = screen_columns();\n      *(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;\n      display_speed(mode,false);\n      goto joined_r0x00014b3c;\n    }" { (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = screen_columns();" (assignment_expression "iVar8 = screen_columns()" identifier = (call_expression "screen_columns()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8;" (assignment_expression "*(int *)(PTR_DAT_000310f8 + 0x13cc) = iVar8" (pointer_expression "*(int *)(PTR_DAT_000310f8 + 0x13cc)" * (cast_expression "(int *)(PTR_DAT_000310f8 + 0x13cc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" ( (binary_expression "PTR_DAT_000310f8 + 0x13cc" identifier + number_literal) )))) = identifier) ;) (expression_statement "display_speed(mode,false);" (call_expression "display_speed(mode,false)" identifier (argument_list "(mode,false)" ( identifier , false ))) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) })) (expression_statement "sVar6 = string_to_baud(pcVar27);" (assignment_expression "sVar6 = string_to_baud(pcVar27)" identifier = (call_expression "string_to_baud(pcVar27)" identifier (argument_list "(pcVar27)" ( identifier )))) ;) (if_statement "if (sVar6 == 0xffffffff) {\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }" if (parenthesized_expression "(sVar6 == 0xffffffff)" ( (binary_expression "sVar6 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n      ptVar7 = flag;\n      piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar17 = pcVar27;\n      goto LAB_0001550c;\n    }" { (expression_statement "ptVar7 = flag;" (assignment_expression "ptVar7 = flag" identifier = identifier) ;) (expression_statement "piVar19 = (int *)(*(code *)PTR___errno_location_00031250)();" (assignment_expression "piVar19 = (int *)(*(code *)PTR___errno_location_00031250)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00031250)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00031250)()" (parenthesized_expression "(*(code *)PTR___errno_location_00031250)" ( (pointer_expression "*(code *)PTR___errno_location_00031250" * (cast_expression "(code *)PTR___errno_location_00031250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar17 = pcVar27;" (assignment_expression "pcVar17 = pcVar27" identifier = identifier) ;) (goto_statement "goto LAB_0001550c;" goto statement_identifier ;) })) (if_statement "if (iVar16 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_cfsetispeed_00031268)(mode,sVar6);" (call_expression "(*(code *)PTR_cfsetispeed_00031268)(mode,sVar6)" (parenthesized_expression "(*(code *)PTR_cfsetispeed_00031268)" ( (pointer_expression "*(code *)PTR_cfsetispeed_00031268" * (cast_expression "(code *)PTR_cfsetispeed_00031268" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(mode,sVar6)" ( identifier , identifier ))) ;) (expression_statement "pcVar26 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar26 = (code *)PTR_cfsetospeed_000312d0" identifier = (cast_expression "(code *)PTR_cfsetospeed_000312d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar26)(mode,sVar6);" (call_expression "(*pcVar26)(mode,sVar6)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(mode,sVar6)" ( identifier , identifier ))) ;) (expression_statement "*speed_was_set = true;" (assignment_expression "*speed_was_set = true" (pointer_expression "*speed_was_set" * identifier) = true) ;) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (labeled_statement "joined_r0x00014b3c:\n  while (unaff_s4 = settings, n_settings <= unaff_s0) {\nLAB_00014b48:\n    settings = unaff_s4;\n    if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }\n    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;\n    *require_set_attr = true;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" statement_identifier : (while_statement "while (unaff_s4 = settings, n_settings <= unaff_s0) {\nLAB_00014b48:\n    settings = unaff_s4;\n    if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }\n    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;\n    *require_set_attr = true;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" while (parenthesized_expression "(unaff_s4 = settings, n_settings <= unaff_s0)" ( (comma_expression "unaff_s4 = settings, n_settings <= unaff_s0" (assignment_expression "unaff_s4 = settings" identifier = identifier) , (binary_expression "n_settings <= unaff_s0" identifier <= identifier)) )) (compound_statement "{\nLAB_00014b48:\n    settings = unaff_s4;\n    if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }\n    uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;\n    *require_set_attr = true;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" { (labeled_statement "LAB_00014b48:\n    settings = unaff_s4;" statement_identifier : (expression_statement "settings = unaff_s4;" (assignment_expression "settings = unaff_s4" identifier = identifier) ;)) (if_statement "if (local_2c == *(tcflag_t *)puVar18) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(tcflag_t *)puVar18)" ( (binary_expression "local_2c == *(tcflag_t *)puVar18" identifier == (pointer_expression "*(tcflag_t *)puVar18" * (cast_expression "(tcflag_t *)puVar18" ( (type_descriptor "tcflag_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)();" (assignment_expression "uVar11 = (*(code *)PTR___stack_chk_fail_000312c4)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_000312c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000312c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000312c4" * (cast_expression "(code *)PTR___stack_chk_fail_000312c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_00015634:\n    mode->c_lflag = uVar11 & 0xfffffffd;" statement_identifier : (expression_statement "mode->c_lflag = uVar11 & 0xfffffffd;" (assignment_expression "mode->c_lflag = uVar11 & 0xfffffffd" (field_expression "mode->c_lflag" identifier -> field_identifier) = (binary_expression "uVar11 & 0xfffffffd" identifier & number_literal)) ;)) (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (labeled_statement "LAB_00014ae0:\n    unaff_s0 = iVar8 + 1;" statement_identifier : (expression_statement "unaff_s0 = iVar8 + 1;" (assignment_expression "unaff_s0 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) }))) (goto_statement "goto LAB_00014af0;" goto statement_identifier ;) (while_statement "while( true ) {\n    *ptVar7 = tVar10;\n    ptVar7 = ptVar7 + 1;\n    pcVar17 = p + 1;\n    if (ptVar7 == &local_2c) break;\nLAB_0001550c:\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *ptVar7 = tVar10;\n    ptVar7 = ptVar7 + 1;\n    pcVar17 = p + 1;\n    if (ptVar7 == &local_2c) break;\nLAB_0001550c:\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;\n  }" { (expression_statement "*ptVar7 = tVar10;" (assignment_expression "*ptVar7 = tVar10" (pointer_expression "*ptVar7" * identifier) = identifier) ;) (expression_statement "ptVar7 = ptVar7 + 1;" (assignment_expression "ptVar7 = ptVar7 + 1" identifier = (binary_expression "ptVar7 + 1" identifier + number_literal)) ;) (expression_statement "pcVar17 = p + 1;" (assignment_expression "pcVar17 = p + 1" identifier = (binary_expression "p + 1" identifier + number_literal)) ;) (if_statement "if (ptVar7 == &local_2c) break;" if (parenthesized_expression "(ptVar7 == &local_2c)" ( (binary_expression "ptVar7 == &local_2c" identifier == (pointer_expression "&local_2c" & identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001550c:\n    puVar23 = PTR_strtoul_0003127c;" statement_identifier : (expression_statement "puVar23 = PTR_strtoul_0003127c;" (assignment_expression "puVar23 = PTR_strtoul_0003127c" identifier = identifier) ;)) (expression_statement "*piVar19 = 0;" (assignment_expression "*piVar19 = 0" (pointer_expression "*piVar19" * identifier) = number_literal) ;) (expression_statement "tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10);" (assignment_expression "tVar10 = (*(code *)puVar23)(pcVar17,&p,0x10)" identifier = (call_expression "(*(code *)puVar23)(pcVar17,&p,0x10)" (parenthesized_expression "(*(code *)puVar23)" ( (pointer_expression "*(code *)puVar23" * (cast_expression "(code *)puVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,&p,0x10)" ( identifier , (pointer_expression "&p" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)) goto LAB_00015614;" if (parenthesized_expression "(((*piVar19 != 0) || (*p != ':')) || (p == pcVar17))" ( (binary_expression "((*piVar19 != 0) || (*p != ':')) || (p == pcVar17)" (parenthesized_expression "((*piVar19 != 0) || (*p != ':'))" ( (binary_expression "(*piVar19 != 0) || (*p != ':')" (parenthesized_expression "(*piVar19 != 0)" ( (binary_expression "*piVar19 != 0" (pointer_expression "*piVar19" * identifier) != number_literal) )) || (parenthesized_expression "(*p != ':')" ( (binary_expression "*p != ':'" (pointer_expression "*p" * identifier) != (char_literal "':'" ' character ')) ))) )) || (parenthesized_expression "(p == pcVar17)" ( (binary_expression "p == pcVar17" identifier == identifier) ))) )) (goto_statement "goto LAB_00015614;" goto statement_identifier ;)) })) (expression_statement "mode->c_iflag = flag[0];" (assignment_expression "mode->c_iflag = flag[0]" (field_expression "mode->c_iflag" identifier -> field_identifier) = (subscript_expression "flag[0]" identifier [ number_literal ])) ;) (expression_statement "mode->c_oflag = flag[1];" (assignment_expression "mode->c_oflag = flag[1]" (field_expression "mode->c_oflag" identifier -> field_identifier) = (subscript_expression "flag[1]" identifier [ number_literal ])) ;) (expression_statement "mode->c_cflag = flag[2];" (assignment_expression "mode->c_cflag = flag[2]" (field_expression "mode->c_cflag" identifier -> field_identifier) = (subscript_expression "flag[2]" identifier [ number_literal ])) ;) (expression_statement "mode->c_lflag = flag[3];" (assignment_expression "mode->c_lflag = flag[3]" (field_expression "mode->c_lflag" identifier -> field_identifier) = (subscript_expression "flag[3]" identifier [ number_literal ])) ;) (expression_statement "ptVar25 = mode;" (assignment_expression "ptVar25 = mode" identifier = identifier) ;) (while_statement "while( true ) {\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    cVar14 = ':';\n    if ((int)ptVar25 - (int)mode == 0x1f) {\n      cVar14 = '\0';\n    }\n    uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))\n    break;\n    ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);\n    ptVar25->c_cc[0] = (cc_t)uVar11;\n    pcVar17 = p + 1;\n    ptVar25 = ptVar24;\n    if ((termios *)(mode->c_cc + 0xf) == ptVar24) {\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    puVar23 = PTR_strtoul_0003127c;\n    *piVar19 = 0;\n    cVar14 = ':';\n    if ((int)ptVar25 - (int)mode == 0x1f) {\n      cVar14 = '\0';\n    }\n    uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);\n    if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))\n    break;\n    ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);\n    ptVar25->c_cc[0] = (cc_t)uVar11;\n    pcVar17 = p + 1;\n    ptVar25 = ptVar24;\n    if ((termios *)(mode->c_cc + 0xf) == ptVar24) {\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" { (expression_statement "puVar23 = PTR_strtoul_0003127c;" (assignment_expression "puVar23 = PTR_strtoul_0003127c" identifier = identifier) ;) (expression_statement "*piVar19 = 0;" (assignment_expression "*piVar19 = 0" (pointer_expression "*piVar19" * identifier) = number_literal) ;) (expression_statement "cVar14 = ':';" (assignment_expression "cVar14 = ':'" identifier = (char_literal "':'" ' character ')) ;) (if_statement "if ((int)ptVar25 - (int)mode == 0x1f) {\n      cVar14 = '\0';\n    }" if (parenthesized_expression "((int)ptVar25 - (int)mode == 0x1f)" ( (binary_expression "(int)ptVar25 - (int)mode == 0x1f" (binary_expression "(int)ptVar25 - (int)mode" (cast_expression "(int)ptVar25" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)mode" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (compound_statement "{\n      cVar14 = '\0';\n    }" { (expression_statement "cVar14 = '\0';" (assignment_expression "cVar14 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10);" (assignment_expression "uVar11 = (*(code *)puVar23)(pcVar17,&p,0x10)" identifier = (call_expression "(*(code *)puVar23)(pcVar17,&p,0x10)" (parenthesized_expression "(*(code *)puVar23)" ( (pointer_expression "*(code *)puVar23" * (cast_expression "(code *)puVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar17,&p,0x10)" ( identifier , (pointer_expression "&p" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))\n    break;" if (parenthesized_expression "(((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff)))))" ( (binary_expression "((*piVar19 != 0) || (*p != cVar14)) || ((p == pcVar17 || (uVar11 != (uVar11 & 0xff))))" (parenthesized_expression "((*piVar19 != 0) || (*p != cVar14))" ( (binary_expression "(*piVar19 != 0) || (*p != cVar14)" (parenthesized_expression "(*piVar19 != 0)" ( (binary_expression "*piVar19 != 0" (pointer_expression "*piVar19" * identifier) != number_literal) )) || (parenthesized_expression "(*p != cVar14)" ( (binary_expression "*p != cVar14" (pointer_expression "*p" * identifier) != identifier) ))) )) || (parenthesized_expression "((p == pcVar17 || (uVar11 != (uVar11 & 0xff))))" ( (parenthesized_expression "(p == pcVar17 || (uVar11 != (uVar11 & 0xff)))" ( (binary_expression "p == pcVar17 || (uVar11 != (uVar11 & 0xff))" (binary_expression "p == pcVar17" identifier == identifier) || (parenthesized_expression "(uVar11 != (uVar11 & 0xff))" ( (binary_expression "uVar11 != (uVar11 & 0xff)" identifier != (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) ))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1);" (assignment_expression "ptVar24 = (termios *)((int)&ptVar25->c_iflag + 1)" identifier = (cast_expression "(termios *)((int)&ptVar25->c_iflag + 1)" ( (type_descriptor "termios *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&ptVar25->c_iflag + 1)" ( (binary_expression "(int)&ptVar25->c_iflag + 1" (cast_expression "(int)&ptVar25->c_iflag" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&ptVar25->c_iflag" & (field_expression "ptVar25->c_iflag" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "ptVar25->c_cc[0] = (cc_t)uVar11;" (assignment_expression "ptVar25->c_cc[0] = (cc_t)uVar11" (subscript_expression "ptVar25->c_cc[0]" (field_expression "ptVar25->c_cc" identifier -> field_identifier) [ number_literal ]) = (cast_expression "(cc_t)uVar11" ( (type_descriptor "cc_t" type_identifier) ) identifier)) ;) (expression_statement "pcVar17 = p + 1;" (assignment_expression "pcVar17 = p + 1" identifier = (binary_expression "p + 1" identifier + number_literal)) ;) (expression_statement "ptVar25 = ptVar24;" (assignment_expression "ptVar25 = ptVar24" identifier = identifier) ;) (if_statement "if ((termios *)(mode->c_cc + 0xf) == ptVar24) {\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" if (parenthesized_expression "((termios *)(mode->c_cc + 0xf) == ptVar24)" ( (binary_expression "(termios *)(mode->c_cc + 0xf) == ptVar24" (cast_expression "(termios *)(mode->c_cc + 0xf)" ( (type_descriptor "termios *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(mode->c_cc + 0xf)" ( (binary_expression "mode->c_cc + 0xf" (field_expression "mode->c_cc" identifier -> field_identifier) + number_literal) ))) == identifier) )) (compound_statement "{\nLAB_00015240:\n      *require_set_attr = true;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" { (labeled_statement "LAB_00015240:\n      *require_set_attr = true;" statement_identifier : (expression_statement "*require_set_attr = true;" (assignment_expression "*require_set_attr = true" (pointer_expression "*require_set_attr" * identifier) = true) ;)) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00015614:\n  puVar18 = PTR_DAT_00031108 + -0x2030;" statement_identifier : (expression_statement "puVar18 = PTR_DAT_00031108 + -0x2030;" (assignment_expression "puVar18 = PTR_DAT_00031108 + -0x2030" identifier = (binary_expression "PTR_DAT_00031108 + -0x2030" identifier + number_literal)) ;)) (labeled_statement "LAB_000153e8:\n  uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5);" statement_identifier : (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,puVar18,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,puVar18,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar18,5)" ( number_literal , identifier , number_literal )))) ;)) (labeled_statement "LAB_000153f8:\n  pcVar27 = quote(pcVar27);" statement_identifier : (expression_statement "pcVar27 = quote(pcVar27);" (assignment_expression "pcVar27 = quote(pcVar27)" identifier = (call_expression "quote(pcVar27)" identifier (argument_list "(pcVar27)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27);" (call_expression "(*(code *)PTR_error_00031298)(0,0,uVar9,pcVar27)" (parenthesized_expression "(*(code *)PTR_error_00031298)" ( (pointer_expression "*(code *)PTR_error_00031298" * (cast_expression "(code *)PTR_error_00031298" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,uVar9,pcVar27)" ( number_literal , number_literal , identifier , identifier ))) ;) comment (expression_statement "usage(1);" (call_expression "usage(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "void FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}\n\n" (function_definition "void FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}" primitive_type (function_declarator "FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)" identifier (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "uint *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "undefined1 *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "undefined1 *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "char cVar13;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "undefined4 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "char *pcVar21;" primitive_type (pointer_declarator "*pcVar21" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "undefined *local_6c;" type_identifier (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "code *local_54;" type_identifier (pointer_declarator "*local_54" * identifier) ;) (declaration "code *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "char *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c [4];" type_identifier (array_declarator "local_3c [4]" identifier [ number_literal ]) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "puVar3 = PTR___stack_chk_guard_000312dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000312dc" identifier = identifier) ;) (expression_statement "local_2c = *(uint *)PTR___stack_chk_guard_000312dc;" (assignment_expression "local_2c = *(uint *)PTR___stack_chk_guard_000312dc" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_000312dc" * (cast_expression "(uint *)PTR___stack_chk_guard_000312dc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_4 < 2) goto LAB_00014b48;" if (parenthesized_expression "(param_4 < 2)" ( (binary_expression "param_4 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00014b48;" goto statement_identifier ;)) (expression_statement "unaff_s0 = 1;" (assignment_expression "unaff_s0 = 1" identifier = number_literal) ;) (expression_statement "local_6c = PTR_DAT_000310f8;" (assignment_expression "local_6c = PTR_DAT_000310f8" identifier = identifier) ;) (expression_statement "local_68 = PTR_DAT_00031108 + -0x20b4;" (assignment_expression "local_68 = PTR_DAT_00031108 + -0x20b4" identifier = (binary_expression "PTR_DAT_00031108 + -0x20b4" identifier + number_literal)) ;) (expression_statement "local_5c = PTR_DAT_00031108;" (assignment_expression "local_5c = PTR_DAT_00031108" identifier = identifier) ;) (expression_statement "local_54 = (code *)(PTR_00031104 + 0x3234);" (assignment_expression "local_54 = (code *)(PTR_00031104 + 0x3234)" identifier = (cast_expression "(code *)(PTR_00031104 + 0x3234)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00031104 + 0x3234)" ( (binary_expression "PTR_00031104 + 0x3234" identifier + number_literal) )))) ;) (expression_statement "local_48 = (code *)(PTR_00031104 + 0x33ac);" (assignment_expression "local_48 = (code *)(PTR_00031104 + 0x33ac)" identifier = (cast_expression "(code *)(PTR_00031104 + 0x33ac)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_00031104 + 0x33ac)" ( (binary_expression "PTR_00031104 + 0x33ac" identifier + number_literal) )))) ;) (labeled_statement "LAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);" statement_identifier : (expression_statement "pcVar18 = (char *)(unaff_s0 * 4);" (assignment_expression "pcVar18 = (char *)(unaff_s0 * 4)" identifier = (cast_expression "(char *)(unaff_s0 * 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s0 * 4)" ( (binary_expression "unaff_s0 * 4" identifier * number_literal) )))) ;)) (expression_statement "pcVar16 = pcVar18 + param_3;" (assignment_expression "pcVar16 = pcVar18 + param_3" identifier = (binary_expression "pcVar18 + param_3" identifier + identifier)) ;) (expression_statement "pcVar23 = *(char **)pcVar16;" (assignment_expression "pcVar23 = *(char **)pcVar16" identifier = (pointer_expression "*(char **)pcVar16" * (cast_expression "(char **)pcVar16" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (if_statement "if (pcVar23 == (char *)0x0) goto LAB_00014ae0;" if (parenthesized_expression "(pcVar23 == (char *)0x0)" ( (binary_expression "pcVar23 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (if_statement "if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" if (parenthesized_expression "(*pcVar23 == '-')" ( (binary_expression "*pcVar23 == '-'" (pointer_expression "*pcVar23" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }" { (expression_statement "pcVar23 = pcVar23 + 1;" (assignment_expression "pcVar23 = pcVar23 + 1" identifier = (binary_expression "pcVar23 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x20a4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x20a4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00014bb8;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" ( (binary_expression "PTR_DAT_000310f8 + 0x1048" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" else (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x20a4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x20a4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00014bb8:\n      iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (expression_statement "puVar19 = (undefined4 *)(local_6c + 0x8f4);" (assignment_expression "puVar19 = (undefined4 *)(local_6c + 0x8f4)" identifier = (cast_expression "(undefined4 *)(local_6c + 0x8f4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_6c + 0x8f4)" ( (binary_expression "local_6c + 0x8f4" identifier + number_literal) )))) ;) (expression_statement "pcVar21 = local_68;" (assignment_expression "pcVar21 = local_68" identifier = identifier) ;) (while_statement "while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }" while (parenthesized_expression "(iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0)" ( (comma_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,pcVar21)" ( identifier , identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) )) (compound_statement "{\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }" { (expression_statement "pcVar21 = (char *)*puVar19;" (assignment_expression "pcVar21 = (char *)*puVar19" identifier = (cast_expression "(char *)*puVar19" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 5;" (assignment_expression "puVar19 = puVar19 + 5" identifier = (binary_expression "puVar19 + 5" identifier + number_literal)) ;) (if_statement "if (pcVar21 == (char *)0x0) goto LAB_00014ca0;" if (parenthesized_expression "(pcVar21 == (char *)0x0)" ( (binary_expression "pcVar21 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00014ca0;" goto statement_identifier ;)) })) (expression_statement "piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);" (assignment_expression "piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0)" identifier = (cast_expression "(int *)(PTR_DAT_000310f8 + 0x8e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x8e0)" ( (binary_expression "PTR_DAT_000310f8 + 0x8e0" identifier + number_literal) )))) ;) (if_statement "if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;" if (parenthesized_expression "((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0)" ( (binary_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10)" ( (binary_expression "*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10" (pointer_expression "*(byte *)(piVar15 + iVar4 * 5 + 2)" * (cast_expression "(byte *)(piVar15 + iVar4 * 5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + iVar4 * 5 + 2)" ( (binary_expression "piVar15 + iVar4 * 5 + 2" (binary_expression "piVar15 + iVar4 * 5" identifier + (binary_expression "iVar4 * 5" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00014c1c;" goto statement_identifier ;)) (expression_statement "pcVar18 = (char *)0x14;" (assignment_expression "pcVar18 = (char *)0x14" identifier = (cast_expression "(char *)0x14" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }" { (if_statement "if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }" if (parenthesized_expression "((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0)" ( (binary_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 4)" ( (binary_expression "*(byte *)(piVar15 + iVar4 * 5 + 2) & 4" (pointer_expression "*(byte *)(piVar15 + iVar4 * 5 + 2)" * (cast_expression "(byte *)(piVar15 + iVar4 * 5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + iVar4 * 5 + 2)" ( (binary_expression "piVar15 + iVar4 * 5 + 2" (binary_expression "piVar15 + iVar4 * 5" identifier + (binary_expression "iVar4 * 5" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          *param_7 = 1;\n          goto LAB_00015140;\n        }" { (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00015140;" goto statement_identifier ;) })) (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier (argument_list "(piVar15[iVar4 * 5 + 1],param_5)" ( (subscript_expression "piVar15[iVar4 * 5 + 1]" identifier [ (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) , identifier ))))) ;) (if_statement "if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(puVar6 != (uint *)0x0)" ( (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);" (assignment_expression "*puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (pointer_expression "*puVar6" * identifier) = (binary_expression "*puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (pointer_expression "*puVar6" * identifier) & (unary_expression "~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" ~ (parenthesized_expression "(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" ( (binary_expression "piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]" (subscript_expression "piVar15[iVar4 * 5 + 4]" identifier [ (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) | (subscript_expression "piVar15[iVar4 * 5 + 3]" identifier [ (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ])) ))))) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f90)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f90" identifier + number_literal) )))) ;) (if_statement "if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0))" ( (binary_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            )" ( (binary_expression "(iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f88)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f88" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f80)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f80" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) }) (else_clause "else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" else (compound_statement "{\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" { (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" identifier (argument_list "(piVar15[iVar4 * 5 + 1],param_5)" ( (subscript_expression "piVar15[iVar4 * 5 + 1]" identifier [ (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]) , identifier ))))) ;) (if_statement "if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(puVar6 != (uint *)0x0)" ( (binary_expression "puVar6 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];" (assignment_expression "*puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3]" (pointer_expression "*puVar6" * identifier) = (binary_expression "~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3]" (binary_expression "~piVar15[iVar4 * 5 + 4] & *puVar6" (unary_expression "~piVar15[iVar4 * 5 + 4]" ~ (subscript_expression "piVar15[iVar4 * 5 + 4]" identifier [ (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ])) & (pointer_expression "*puVar6" * identifier)) | (subscript_expression "piVar15[iVar4 * 5 + 3]" identifier [ (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" identifier * number_literal) + number_literal) ]))) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f90)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f90" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f88)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f88" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffccf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffccf | 0x120" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffccf | 0x120" (binary_expression "param_5[2] & 0xfffffccf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f80)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f80" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffccf | 800;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffccf | 800" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffccf | 800" (binary_expression "param_5[2] & 0xfffffccf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) }))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1ac0)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ac0" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" { (if_statement "if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "*param_5 = *param_5 & 0xfffffeff;" (assignment_expression "*param_5 = *param_5 & 0xfffffeff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffffeff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffb;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffb" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffb" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "*param_5 = *param_5 & 0xfffffe3f | 0x100;" (assignment_expression "*param_5 = *param_5 & 0xfffffe3f | 0x100" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffffe3f | 0x100" (binary_expression "*param_5 & 0xfffffe3f" (pointer_expression "*param_5" * identifier) & number_literal) | number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xffffffd3 | 4;" (assignment_expression "param_5[1] = param_5[1] & 0xffffffd3 | 4" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xffffffd3 | 4" (binary_expression "param_5[1] & 0xffffffd3" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x209c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x209c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }" { (expression_statement "*(undefined1 *)((int)param_5 + 0x13) = 0x7f;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x13) = 0x7f" (pointer_expression "*(undefined1 *)((int)param_5 + 0x13)" * (cast_expression "(undefined1 *)((int)param_5 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x13)" ( (binary_expression "(int)param_5 + 0x13" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(param_5 + 5) = 0x15;" (assignment_expression "*(undefined1 *)(param_5 + 5) = 0x15" (pointer_expression "*(undefined1 *)(param_5 + 5)" * (cast_expression "(undefined1 *)(param_5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 5)" ( (binary_expression "param_5 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2098)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2098" identifier + number_literal) )))) ;) (if_statement "if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x207c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x207c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (expression_statement "uVar10 = param_5[3];" (assignment_expression "uVar10 = param_5[3]" identifier = (subscript_expression "param_5[3]" identifier [ number_literal ])) ;) (if_statement "if (!bVar2) goto LAB_00015634;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_00015634;" goto statement_identifier ;)) (expression_statement "param_5[3] = uVar10 | 2;" (assignment_expression "param_5[3] = uVar10 | 2" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "uVar10 | 2" identifier | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2074)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2074" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "*param_5 = *param_5 & 0xffffffdf;" (assignment_expression "*param_5 = *param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "*param_5 = *param_5 | 0x20;" (assignment_expression "*param_5 = *param_5 | 0x20" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x20" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x120" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x120" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x206c)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x206c" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_5 = *param_5 & 0xffffffdf;" (assignment_expression "*param_5 = *param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xffffffdf" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffe;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "param_5[1] = param_5[1] | 1;" (assignment_expression "param_5[1] = param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x120" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (binary_expression "param_5[2] & 0xfffffecf | 0x120" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" identifier [ number_literal ]) & number_literal) | number_literal)) ;) (expression_statement "*param_5 = *param_5 | 0x20;" (assignment_expression "*param_5 = *param_5 | 0x20" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x20" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2064)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2064" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2060)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2060" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(*pcVar21 == 'r')" ( (binary_expression "*pcVar21 == 'r'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'r'" ' character ')) )) (compound_statement "{\n            if (bVar2) goto LAB_000159a8;\n          }" { (if_statement "if (bVar2) goto LAB_000159a8;" if (parenthesized_expression "(bVar2)" ( identifier )) (goto_statement "goto LAB_000159a8;" goto statement_identifier ;)) }) (else_clause "else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" else (if_statement "if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "((*pcVar21 == 'c') && (!bVar2))" ( (binary_expression "(*pcVar21 == 'c') && (!bVar2)" (parenthesized_expression "(*pcVar21 == 'c')" ( (binary_expression "*pcVar21 == 'c'" (pointer_expression "*pcVar21" * identifier) == (char_literal "'c'" ' character ')) )) && (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) ))) )) (compound_statement "{\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (labeled_statement "LAB_000159a8:\n            param_5[1] = param_5[1] | 1;" statement_identifier : (expression_statement "param_5[1] = param_5[1] | 1;" (assignment_expression "param_5[1] = param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 1" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;)) (expression_statement "param_5[3] = param_5[3] | 3;" (assignment_expression "param_5[3] = param_5[3] | 3" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 3" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_5 = *param_5 | 0x526;" (assignment_expression "*param_5 = *param_5 | 0x526" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x526" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })))) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)((int)param_5 + 0x16) = 0;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x16) = 0" (pointer_expression "*(undefined1 *)((int)param_5 + 0x16)" * (cast_expression "(undefined1 *)((int)param_5 + 0x16)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x16)" ( (binary_expression "(int)param_5 + 0x16" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffe;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*(undefined1 *)((int)param_5 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)param_5 + 0x15)" * (cast_expression "(undefined1 *)((int)param_5 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x15)" ( (binary_expression "(int)param_5 + 0x15" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "param_5[3] = param_5[3] & 0xfffffff8;" (assignment_expression "param_5[3] = param_5[3] & 0xfffffff8" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] & 0xfffffff8" (subscript_expression "param_5[3]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2058)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2058" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "*param_5 = *param_5 & 0xfffff7ff;" (assignment_expression "*param_5 = *param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "*param_5 = *param_5 | 0x800;" (assignment_expression "*param_5 = *param_5 | 0x800" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x800" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2050)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2050" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" { (if_statement "if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[1] = param_5[1] & 0xffffe7ff;" (assignment_expression "param_5[1] = param_5[1] & 0xffffe7ff" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xffffe7ff" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "param_5[1] = param_5[1] | 0x1800;" (assignment_expression "param_5[1] = param_5[1] | 0x1800" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 0x1800" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2048)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2048" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2040)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2040" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }" { (if_statement "if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[3] = param_5[3] & 0xfffffffb;" (assignment_expression "param_5[3] = param_5[3] & 0xfffffffb" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] & 0xfffffffb" (subscript_expression "param_5[3]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_5 = *param_5 & 0xfffffdff;" (assignment_expression "*param_5 = *param_5 & 0xfffffdff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffffdff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "param_5[1] = param_5[1] & 0xfffffffd;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffd" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] & 0xfffffffd" (subscript_expression "param_5[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "param_5[3] = param_5[3] | 4;" (assignment_expression "param_5[3] = param_5[3] | 4" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 4" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_5 = *param_5 | 0x200;" (assignment_expression "*param_5 = *param_5 | 0x200" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 | 0x200" (pointer_expression "*param_5" * identifier) | number_literal)) ;) (expression_statement "param_5[1] = param_5[1] | 2;" (assignment_expression "param_5[1] = param_5[1] | 2" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (binary_expression "param_5[1] | 2" (subscript_expression "param_5[1]" identifier [ number_literal ]) | number_literal)) ;) }) (else_clause "else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" else (compound_statement "{\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2038)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2038" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "param_5[3] = param_5[3] | 0xa10;" (assignment_expression "param_5[3] = param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2034)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2034" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" { (expression_statement "*(undefined1 *)((int)param_5 + 0x11) = 3;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x11) = 3" (pointer_expression "*(undefined1 *)((int)param_5 + 0x11)" * (cast_expression "(undefined1 *)((int)param_5 + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x11)" ( (binary_expression "(int)param_5 + 0x11" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)((int)param_5 + 0x13) = 0x7f;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x13) = 0x7f" (pointer_expression "*(undefined1 *)((int)param_5 + 0x13)" * (cast_expression "(undefined1 *)((int)param_5 + 0x13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + 0x13)" ( (binary_expression "(int)param_5 + 0x13" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "param_5[3] = param_5[3] | 0xa10;" (assignment_expression "param_5[3] = param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "param_5[3] | 0xa10" (subscript_expression "param_5[3]" identifier [ number_literal ]) | number_literal)) ;) (expression_statement "*(undefined1 *)(param_5 + 5) = 0x15;" (assignment_expression "*(undefined1 *)(param_5 + 5) = 0x15" (pointer_expression "*(undefined1 *)(param_5 + 5)" * (cast_expression "(undefined1 *)(param_5 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 5)" ( (binary_expression "param_5 + 5" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*param_5 = *param_5 & 0xfffff7ff;" (assignment_expression "*param_5 = *param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) = (binary_expression "*param_5 & 0xfffff7ff" (pointer_expression "*param_5" * identifier) & number_literal)) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) }))) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) (expression_statement "piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);" (assignment_expression "piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc)" identifier = (cast_expression "(int *)(PTR_DAT_000310f8 + 0x7fc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x7fc)" ( (binary_expression "PTR_DAT_000310f8 + 0x7fc" identifier + number_literal) )))) ;) (while_statement "while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }" while (parenthesized_expression "(*piVar11 != 0)" ( (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" * identifier) != number_literal) )) (compound_statement "{\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }" { (expression_statement "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);" (assignment_expression "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1)" (pointer_expression "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11)" * (cast_expression "(undefined1 *)((int)param_5 + piVar11[2] + 0x11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + piVar11[2] + 0x11)" ( (binary_expression "(int)param_5 + piVar11[2] + 0x11" (binary_expression "(int)param_5 + piVar11[2]" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + (subscript_expression "piVar11[2]" identifier [ number_literal ])) + number_literal) )))) = (pointer_expression "*(undefined1 *)(piVar11 + 1)" * (cast_expression "(undefined1 *)(piVar11 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = piVar11 + 3;" (assignment_expression "piVar11 = piVar11 + 3" identifier = (binary_expression "piVar11 + 3" identifier + number_literal)) ;) })) (do_statement "do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );" do (compound_statement "{\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      }" { (while_statement "while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }" { (if_statement "if (*piVar15 == 0) goto LAB_00015240;" if (parenthesized_expression "(*piVar15 == 0)" ( (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" * identifier) == number_literal) )) (goto_statement "goto LAB_00015240;" goto statement_identifier ;)) (expression_statement "bVar12 = *(byte *)(piVar15 + 2);" (assignment_expression "bVar12 = *(byte *)(piVar15 + 2)" identifier = (pointer_expression "*(byte *)(piVar15 + 2)" * (cast_expression "(byte *)(piVar15 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + 2)" ( (binary_expression "piVar15 + 2" identifier + number_literal) ))))) ;) (if_statement "if ((bVar12 & 0x10) == 0) break;" if (parenthesized_expression "((bVar12 & 0x10) == 0)" ( (binary_expression "(bVar12 & 0x10) == 0" (parenthesized_expression "(bVar12 & 0x10)" ( (binary_expression "bVar12 & 0x10" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00015734:\n          piVar15 = piVar15 + 5;" statement_identifier : (expression_statement "piVar15 = piVar15 + 5;" (assignment_expression "piVar15 = piVar15 + 5" identifier = (binary_expression "piVar15 + 5" identifier + number_literal)) ;)) })) (if_statement "if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }" if (parenthesized_expression "((bVar12 & 1) != 0)" ( (binary_expression "(bVar12 & 1) != 0" (parenthesized_expression "(bVar12 & 1)" ( (binary_expression "bVar12 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }" { (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[1],param_5)" identifier (argument_list "(piVar15[1],param_5)" ( (subscript_expression "piVar15[1]" identifier [ number_literal ]) , identifier ))))) ;) (if_statement "if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" { (expression_statement "uVar9 = 0x8cb;" (assignment_expression "uVar9 = 0x8cb" identifier = number_literal) ;) (goto_statement "goto LAB_00015808;" goto statement_identifier ;) })) (expression_statement "*puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];" (assignment_expression "*puVar6 = ~piVar15[4] & *puVar6 | piVar15[3]" (pointer_expression "*puVar6" * identifier) = (binary_expression "~piVar15[4] & *puVar6 | piVar15[3]" (binary_expression "~piVar15[4] & *puVar6" (unary_expression "~piVar15[4]" ~ (subscript_expression "piVar15[4]" identifier [ number_literal ])) & (pointer_expression "*puVar6" * identifier)) | (subscript_expression "piVar15[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00015734;" goto statement_identifier ;) })) (if_statement "if ((bVar12 & 2) == 0) goto LAB_00015734;" if (parenthesized_expression "((bVar12 & 2) == 0)" ( (binary_expression "(bVar12 & 2) == 0" (parenthesized_expression "(bVar12 & 2)" ( (binary_expression "bVar12 & 2" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00015734;" goto statement_identifier ;)) (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5)" identifier = (cast_expression "(uint *)FUN_00012dc8(piVar15[1],param_5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012dc8(piVar15[1],param_5)" identifier (argument_list "(piVar15[1],param_5)" ( (subscript_expression "piVar15[1]" identifier [ number_literal ]) , identifier ))))) ;) (if_statement "if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" { (expression_statement "uVar9 = 0x8d1;" (assignment_expression "uVar9 = 0x8d1" identifier = number_literal) ;) (labeled_statement "LAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" (call_expression "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000311f4)" ( (pointer_expression "*(code *)PTR___assert_fail_000311f4" * (cast_expression "(code *)PTR___assert_fail_000311f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" ( (binary_expression "PTR_DAT_00031108 + -0x2084" identifier + number_literal) , (binary_expression "PTR_DAT_00031108 + -0x2090" identifier + number_literal) , identifier , (binary_expression "PTR_DAT_00031108 + -0x1a4c" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "*puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);" (assignment_expression "*puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3])" (pointer_expression "*puVar6" * identifier) = (binary_expression "*puVar6 & ~(piVar15[4] | piVar15[3])" (pointer_expression "*puVar6" * identifier) & (unary_expression "~(piVar15[4] | piVar15[3])" ~ (parenthesized_expression "(piVar15[4] | piVar15[3])" ( (binary_expression "piVar15[4] | piVar15[3]" (subscript_expression "piVar15[4]" identifier [ number_literal ]) | (subscript_expression "piVar15[3]" identifier [ number_literal ])) ))))) ;) (expression_statement "piVar15 = piVar15 + 5;" (assignment_expression "piVar15 = piVar15 + 5" identifier = (binary_expression "piVar15 + 5" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" ( (binary_expression "PTR_DAT_000310f8 + 0x1048" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) (labeled_statement "LAB_00014ca0:\n  iVar4 = 0;" statement_identifier : (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;)) (if_statement "if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }" { (labeled_statement "LAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" statement_identifier : (expression_statement "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" (assignment_expression "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_00031108 + -0x2030,5)" ( number_literal , (binary_expression "PTR_DAT_00031108 + -0x2030" identifier + number_literal) , number_literal )))) ;)) (expression_statement "pcVar23 = pcVar23 + -1;" (assignment_expression "pcVar23 = pcVar23 + -1" identifier = (binary_expression "pcVar23 + -1" identifier + number_literal)) ;) (goto_statement "goto LAB_000153f8;" goto statement_identifier ;) })) (expression_statement "puVar14 = PTR_DAT_00031108 + -0x20ac;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x20ac" identifier = (binary_expression "PTR_DAT_00031108 + -0x20ac" identifier + number_literal)) ;) (expression_statement "puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);" (assignment_expression "puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808)" identifier = (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x808)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x808)" ( (binary_expression "PTR_DAT_000310f8 + 0x808" identifier + number_literal) )))) ;) (do_statement "do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);" do (compound_statement "{\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  }" { (expression_statement "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,puVar14)" ( identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }" { (if_statement "if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;" if (parenthesized_expression "((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))" ( (binary_expression "(param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" ( (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0)" ( (comma_expression "pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0" (assignment_expression "pbVar17 = *(byte **)(pcVar16 + 4)" identifier = (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) ))))) , (binary_expression "pbVar17 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;" (assignment_expression "pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc" identifier = (binary_expression "PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc" (binary_expression "PTR_DAT_000310f8 + iVar4 * 0xc" identifier + (binary_expression "iVar4 * 0xc" identifier * number_literal)) + number_literal)) ;) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,PTR_DAT_00031108 + -0x2004)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2004" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }" if (parenthesized_expression "((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0))" ( (binary_expression "(iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar14,PTR_DAT_00031108 + -0x2000)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x2000" identifier + number_literal) )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }" { (expression_statement "bVar12 = *pbVar17;" (assignment_expression "bVar12 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (if_statement "if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;" if (parenthesized_expression "((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0))" ( (binary_expression "(bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)" (parenthesized_expression "(bVar12 == 0)" ( (binary_expression "bVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(bVar1 = pbVar17[1], bVar1 == 0)" ( (comma_expression "bVar1 = pbVar17[1], bVar1 == 0" (assignment_expression "bVar1 = pbVar17[1]" identifier = (subscript_expression "pbVar17[1]" identifier [ number_literal ])) , (binary_expression "bVar1 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;)) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar17,PTR_DAT_00031108 + -0x1ff8)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ff8" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }" if (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar17,PTR_DAT_00031108 + -0x1ff4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1ff4" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }" { (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) (if_statement "if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }" if (parenthesized_expression "(bVar12 == 0x5e)" ( (binary_expression "bVar12 == 0x5e" identifier == number_literal) )) (compound_statement "{\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }" { (if_statement "if (bVar1 == 0x3f) goto LAB_00015430;" if (parenthesized_expression "(bVar1 == 0x3f)" ( (binary_expression "bVar1 == 0x3f" identifier == number_literal) )) (goto_statement "goto LAB_00015430;" goto statement_identifier ;)) (expression_statement "bVar12 = bVar1 & 0x9f;" (assignment_expression "bVar12 = bVar1 & 0x9f" identifier = (binary_expression "bVar1 & 0x9f" identifier & number_literal)) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) })) (expression_statement "bVar12 = (*local_54)(pbVar17,0xff);" (assignment_expression "bVar12 = (*local_54)(pbVar17,0xff)" identifier = (call_expression "(*local_54)(pbVar17,0xff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(pbVar17,0xff)" ( identifier , number_literal )))) ;) (goto_statement "goto LAB_00014d64;" goto statement_identifier ;) })) (expression_statement "puVar14 = (undefined *)*puVar19;" (assignment_expression "puVar14 = (undefined *)*puVar19" identifier = (cast_expression "(undefined *)*puVar19" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar19" * identifier))) ;) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" identifier = (binary_expression "puVar19 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar14 != (undefined *)0x0)" ( (binary_expression "puVar14 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,local_5c + -0x1fec)" ( identifier , (binary_expression "local_5c + -0x1fec" identifier + number_literal) )))) ;)) (if_statement "if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }" { (if_statement "if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;" if (parenthesized_expression "((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0))" ( (binary_expression "(param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" ( (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(*(int *)(pcVar16 + 4) == 0)" ( (binary_expression "*(int *)(pcVar16 + 4) == 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "iVar4 = FUN_00012c40();" (assignment_expression "iVar4 = FUN_00012c40()" identifier = (call_expression "FUN_00012c40()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar22 = (code *)PTR_cfsetispeed_00031268;" (assignment_expression "pcVar22 = (code *)PTR_cfsetispeed_00031268" identifier = (cast_expression "(code *)PTR_cfsetispeed_00031268" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;" statement_identifier : (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;)) }) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" else (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" { (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fe4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fe4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" { (if_statement "if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;" if (parenthesized_expression "((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0))" ( (binary_expression "(param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" ( (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) == identifier) )) || (parenthesized_expression "(*(int *)(pcVar16 + 4) == 0)" ( (binary_expression "*(int *)(pcVar16 + 4) == 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;)) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "iVar4 = FUN_00012c40();" (assignment_expression "iVar4 = FUN_00012c40()" identifier = (call_expression "FUN_00012c40()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar22 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar22 = (code *)PTR_cfsetospeed_000312d0" identifier = (cast_expression "(code *)PTR_cfsetospeed_000312d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto LAB_00014c78;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fdc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fdc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" { (if_statement "if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0))" ( (binary_expression "(param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)" (parenthesized_expression "(param_4 + -1 != unaff_s0)" ( (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(int *)(pcVar16 + 4) != 0)" ( (binary_expression "*(int *)(pcVar16 + 4) != 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" identifier = (call_expression "(*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(*(int *)(pcVar16 + 4),0x7fffffff)" ( (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "(*local_48)(uVar9,0xffffffff,param_2);" (call_expression "(*local_48)(uVar9,0xffffffff,param_2)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(uVar9,0xffffffff,param_2)" ( identifier , number_literal , identifier ))) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (labeled_statement "LAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;" statement_identifier : (expression_statement "puVar14 = PTR_DAT_00031108 + -0x201c;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x201c" identifier = (binary_expression "PTR_DAT_00031108 + -0x201c" identifier + number_literal)) ;)) (goto_statement "goto LAB_000153e8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fd4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fd4" identifier + number_literal) )))) ;) (if_statement "if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0))" ( (binary_expression "(iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" ( (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fcc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fcc" identifier + number_literal) )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }" if (parenthesized_expression "((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0))" ( (binary_expression "(param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)" (parenthesized_expression "(param_4 + -1 != unaff_s0)" ( (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(int *)(pcVar16 + 4) != 0)" ( (binary_expression "*(int *)(pcVar16 + 4) != 0" (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }" { (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" identifier = (call_expression "(*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(*(int *)(pcVar16 + 4),0x7fffffff)" ( (pointer_expression "*(int *)(pcVar16 + 4)" * (cast_expression "(int *)(pcVar16 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) , number_literal )))) ;) (expression_statement "(*local_48)(0xffffffff,uVar9,param_2);" (call_expression "(*local_48)(0xffffffff,uVar9,param_2)" (parenthesized_expression "(*local_48)" ( (pointer_expression "*local_48" * identifier) )) (argument_list "(0xffffffff,uVar9,param_2)" ( number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fc4)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fc4" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }" { (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = FUN_00012cf4();" (assignment_expression "uVar9 = FUN_00012cf4()" identifier = (call_expression "FUN_00012cf4()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" ( (binary_expression "PTR_DAT_000310f8 + 0x13cc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13c8)" ( (binary_expression "PTR_DAT_000310f8 + 0x13c8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001352c(0,param_2);" (call_expression "FUN_0001352c(0,param_2)" identifier (argument_list "(0,param_2)" ( number_literal , identifier ))) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fbc)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1fbc" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" { (if_statement "if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }" if (parenthesized_expression "(param_4 + -1 != unaff_s0)" ( (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" identifier + number_literal) != identifier) )) (compound_statement "{\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }" { (expression_statement "iVar8 = *(int *)(pcVar18 + param_3 + 4);" (assignment_expression "iVar8 = *(int *)(pcVar18 + param_3 + 4)" identifier = (pointer_expression "*(int *)(pcVar18 + param_3 + 4)" * (cast_expression "(int *)(pcVar18 + param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + param_3 + 4)" ( (binary_expression "pcVar18 + param_3 + 4" (binary_expression "pcVar18 + param_3" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }" { (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = (*local_54)(iVar8,0xffffffff);" (assignment_expression "uVar10 = (*local_54)(iVar8,0xffffffff)" identifier = (call_expression "(*local_54)(iVar8,0xffffffff)" (parenthesized_expression "(*local_54)" ( (pointer_expression "*local_54" * identifier) )) (argument_list "(iVar8,0xffffffff)" ( identifier , number_literal )))) ;) (expression_statement "*(char *)(param_5 + 4) = (char)uVar10;" (assignment_expression "*(char *)(param_5 + 4) = (char)uVar10" (pointer_expression "*(char *)(param_5 + 4)" * (cast_expression "(char *)(param_5 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 4)" ( (binary_expression "param_5 + 4" identifier + number_literal) )))) = (cast_expression "(char)uVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }" if (parenthesized_expression "(uVar10 != (uVar10 & 0xff))" ( (binary_expression "uVar10 != (uVar10 & 0xff)" identifier != (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) ))) )) (compound_statement "{\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }" { (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_00031108 + -0x1fb4,5)" ( number_literal , (binary_expression "PTR_DAT_00031108 + -0x1fb4" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));" (assignment_expression "uVar7 = quote(*(int *)(pcVar18 + param_3 + 4))" identifier = (call_expression "quote(*(int *)(pcVar18 + param_3 + 4))" identifier (argument_list "(*(int *)(pcVar18 + param_3 + 4))" ( (pointer_expression "*(int *)(pcVar18 + param_3 + 4)" * (cast_expression "(int *)(pcVar18 + param_3 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + param_3 + 4)" ( (binary_expression "pcVar18 + param_3 + 4" (binary_expression "pcVar18 + param_3" identifier + identifier) + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);" (call_expression "(*(code *)PTR_error_00031298)(0,0,uVar9,uVar7)" (parenthesized_expression "(*(code *)PTR_error_00031298)" ( (pointer_expression "*(code *)PTR_error_00031298" * (cast_expression "(code *)PTR_error_00031298" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,uVar9,uVar7)" ( number_literal , number_literal , identifier , identifier ))) ;) })) (goto_statement "goto LAB_00015240;" goto statement_identifier ;) })) })) (goto_statement "goto LAB_000153d8;" goto statement_identifier ;) })) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98)" identifier = (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" ( (pointer_expression "*(code *)PTR_strcmp_000312fc" * (cast_expression "(code *)PTR_strcmp_000312fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1f98)" ( identifier , (binary_expression "PTR_DAT_00031108 + -0x1f98" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }" { (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "uVar9 = FUN_00012cf4();" (assignment_expression "uVar9 = FUN_00012cf4()" identifier = (call_expression "FUN_00012cf4()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" * (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" ( (binary_expression "PTR_DAT_000310f8 + 0x13cc" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_00012ff4(param_5,0);" (call_expression "FUN_00012ff4(param_5,0)" identifier (argument_list "(param_5,0)" ( identifier , number_literal ))) ;) (goto_statement "goto joined_r0x00014b3c;" goto statement_identifier ;) })) (expression_statement "iVar4 = FUN_00012c40(pcVar23);" (assignment_expression "iVar4 = FUN_00012c40(pcVar23)" identifier = (call_expression "FUN_00012c40(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) ;) (if_statement "if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }" if (parenthesized_expression "(iVar4 == -1)" ( (binary_expression "iVar4 == -1" identifier == number_literal) )) (compound_statement "{\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }" { (expression_statement "puVar6 = local_3c;" (assignment_expression "puVar6 = local_3c" identifier = identifier) ;) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_00031250)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_00031250)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_00031250)()" (parenthesized_expression "(*(code *)PTR___errno_location_00031250)" ( (pointer_expression "*(code *)PTR___errno_location_00031250" * (cast_expression "(code *)PTR___errno_location_00031250" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar18 = pcVar23;" (assignment_expression "pcVar18 = pcVar23" identifier = identifier) ;) (goto_statement "goto LAB_0001550c;" goto statement_identifier ;) })) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);" (call_expression "(*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4)" (parenthesized_expression "(*(code *)PTR_cfsetispeed_00031268)" ( (pointer_expression "*(code *)PTR_cfsetispeed_00031268" * (cast_expression "(code *)PTR_cfsetispeed_00031268" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5,iVar4)" ( identifier , identifier ))) ;) (expression_statement "pcVar22 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar22 = (code *)PTR_cfsetospeed_000312d0" identifier = (cast_expression "(code *)PTR_cfsetospeed_000312d0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" identifier = (binary_expression "unaff_s0 + 1" identifier + number_literal)) ;) (expression_statement "(*pcVar22)(param_5,iVar4);" (call_expression "(*pcVar22)(param_5,iVar4)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(param_5,iVar4)" ( identifier , identifier ))) ;) (expression_statement "*param_6 = 1;" (assignment_expression "*param_6 = 1" (pointer_expression "*param_6" * identifier) = number_literal) ;) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (labeled_statement "joined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" statement_identifier : (while_statement "while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" while (parenthesized_expression "(unaff_s4 = param_3, param_4 <= unaff_s0)" ( (comma_expression "unaff_s4 = param_3, param_4 <= unaff_s0" (assignment_expression "unaff_s4 = param_3" identifier = identifier) , (binary_expression "param_4 <= unaff_s0" identifier <= identifier)) )) (compound_statement "{\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" { (labeled_statement "LAB_00014b48:\n    param_3 = unaff_s4;" statement_identifier : (expression_statement "param_3 = unaff_s4;" (assignment_expression "param_3 = unaff_s4" identifier = identifier) ;)) (if_statement "if (local_2c == *(uint *)puVar3) {\n      return;\n    }" if (parenthesized_expression "(local_2c == *(uint *)puVar3)" ( (binary_expression "local_2c == *(uint *)puVar3" identifier == (pointer_expression "*(uint *)puVar3" * (cast_expression "(uint *)puVar3" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();" (assignment_expression "uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)()" identifier = (call_expression "(*(code *)PTR___stack_chk_fail_000312c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000312c4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000312c4" * (cast_expression "(code *)PTR___stack_chk_fail_000312c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;" statement_identifier : (expression_statement "param_5[3] = uVar10 & 0xfffffffd;" (assignment_expression "param_5[3] = uVar10 & 0xfffffffd" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (binary_expression "uVar10 & 0xfffffffd" identifier & number_literal)) ;)) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (labeled_statement "LAB_00014ae0:\n    unaff_s0 = iVar8 + 1;" statement_identifier : (expression_statement "unaff_s0 = iVar8 + 1;" (assignment_expression "unaff_s0 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) }))) (goto_statement "goto LAB_00014af0;" goto statement_identifier ;) (while_statement "while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }" { (expression_statement "*puVar6 = uVar10;" (assignment_expression "*puVar6 = uVar10" (pointer_expression "*puVar6" * identifier) = identifier) ;) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" identifier = (binary_expression "puVar6 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = local_40 + 1;" (assignment_expression "pcVar18 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (if_statement "if (puVar6 == &local_2c) break;" if (parenthesized_expression "(puVar6 == &local_2c)" ( (binary_expression "puVar6 == &local_2c" identifier == (pointer_expression "&local_2c" & identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;" statement_identifier : (expression_statement "puVar14 = PTR_strtoul_0003127c;" (assignment_expression "puVar14 = PTR_strtoul_0003127c" identifier = identifier) ;)) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);" (assignment_expression "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10)" identifier = (call_expression "(*(code *)puVar14)(pcVar18,&local_40,0x10)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar18,&local_40,0x10)" ( identifier , (pointer_expression "&local_40" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;" if (parenthesized_expression "(((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18))" ( (binary_expression "((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)" (parenthesized_expression "((*piVar15 != 0) || (*local_40 != ':'))" ( (binary_expression "(*piVar15 != 0) || (*local_40 != ':')" (parenthesized_expression "(*piVar15 != 0)" ( (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" * identifier) != number_literal) )) || (parenthesized_expression "(*local_40 != ':')" ( (binary_expression "*local_40 != ':'" (pointer_expression "*local_40" * identifier) != (char_literal "':'" ' character ')) ))) )) || (parenthesized_expression "(local_40 == pcVar18)" ( (binary_expression "local_40 == pcVar18" identifier == identifier) ))) )) (goto_statement "goto LAB_00015614;" goto statement_identifier ;)) })) (expression_statement "*param_5 = local_3c[0];" (assignment_expression "*param_5 = local_3c[0]" (pointer_expression "*param_5" * identifier) = (subscript_expression "local_3c[0]" identifier [ number_literal ])) ;) (expression_statement "param_5[1] = local_3c[1];" (assignment_expression "param_5[1] = local_3c[1]" (subscript_expression "param_5[1]" identifier [ number_literal ]) = (subscript_expression "local_3c[1]" identifier [ number_literal ])) ;) (expression_statement "param_5[2] = local_3c[2];" (assignment_expression "param_5[2] = local_3c[2]" (subscript_expression "param_5[2]" identifier [ number_literal ]) = (subscript_expression "local_3c[2]" identifier [ number_literal ])) ;) (expression_statement "param_5[3] = local_3c[3];" (assignment_expression "param_5[3] = local_3c[3]" (subscript_expression "param_5[3]" identifier [ number_literal ]) = (subscript_expression "local_3c[3]" identifier [ number_literal ])) ;) (expression_statement "puVar6 = param_5;" (assignment_expression "puVar6 = param_5" identifier = identifier) ;) (while_statement "while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" { (expression_statement "puVar14 = PTR_strtoul_0003127c;" (assignment_expression "puVar14 = PTR_strtoul_0003127c" identifier = identifier) ;) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" * identifier) = number_literal) ;) (expression_statement "cVar13 = ':';" (assignment_expression "cVar13 = ':'" identifier = (char_literal "':'" ' character ')) ;) (if_statement "if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }" if (parenthesized_expression "((int)puVar6 - (int)param_5 == 0x1f)" ( (binary_expression "(int)puVar6 - (int)param_5 == 0x1f" (binary_expression "(int)puVar6 - (int)param_5" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier)) == number_literal) )) (compound_statement "{\n      cVar13 = '\0';\n    }" { (expression_statement "cVar13 = '\0';" (assignment_expression "cVar13 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);" (assignment_expression "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10)" identifier = (call_expression "(*(code *)puVar14)(pcVar18,&local_40,0x10)" (parenthesized_expression "(*(code *)puVar14)" ( (pointer_expression "*(code *)puVar14" * (cast_expression "(code *)puVar14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar18,&local_40,0x10)" ( identifier , (pointer_expression "&local_40" & identifier) , number_literal )))) ;) (if_statement "if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;" if (parenthesized_expression "(((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff)))))" ( (binary_expression "((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))" (parenthesized_expression "((*piVar15 != 0) || (*local_40 != cVar13))" ( (binary_expression "(*piVar15 != 0) || (*local_40 != cVar13)" (parenthesized_expression "(*piVar15 != 0)" ( (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" * identifier) != number_literal) )) || (parenthesized_expression "(*local_40 != cVar13)" ( (binary_expression "*local_40 != cVar13" (pointer_expression "*local_40" * identifier) != identifier) ))) )) || (parenthesized_expression "((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))" ( (parenthesized_expression "(local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff)))" ( (binary_expression "local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))" (binary_expression "local_40 == pcVar18" identifier == identifier) || (parenthesized_expression "(uVar10 != (uVar10 & 0xff))" ( (binary_expression "uVar10 != (uVar10 & 0xff)" identifier != (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) ))) ))) )) ))) )) (break_statement "break;" break ;)) (expression_statement "puVar20 = (uint *)((int)puVar6 + 1);" (assignment_expression "puVar20 = (uint *)((int)puVar6 + 1)" identifier = (cast_expression "(uint *)((int)puVar6 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 1)" ( (binary_expression "(int)puVar6 + 1" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char *)((int)puVar6 + 0x11) = (char)uVar10;" (assignment_expression "*(char *)((int)puVar6 + 0x11) = (char)uVar10" (pointer_expression "*(char *)((int)puVar6 + 0x11)" * (cast_expression "(char *)((int)puVar6 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar6 + 0x11)" ( (binary_expression "(int)puVar6 + 0x11" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(char)uVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar18 = local_40 + 1;" (assignment_expression "pcVar18 = local_40 + 1" identifier = (binary_expression "local_40 + 1" identifier + number_literal)) ;) (expression_statement "puVar6 = puVar20;" (assignment_expression "puVar6 = puVar20" identifier = identifier) ;) (if_statement "if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" if (parenthesized_expression "(param_5 + 8 == puVar20)" ( (binary_expression "param_5 + 8 == puVar20" (binary_expression "param_5 + 8" identifier + number_literal) == identifier) )) (compound_statement "{\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" { (labeled_statement "LAB_00015240:\n      *param_7 = 1;" statement_identifier : (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;)) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" identifier = identifier) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;" statement_identifier : (expression_statement "puVar14 = PTR_DAT_00031108 + -0x2030;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x2030" identifier = (binary_expression "PTR_DAT_00031108 + -0x2030" identifier + number_literal)) ;)) (labeled_statement "LAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);" statement_identifier : (expression_statement "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);" (assignment_expression "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,puVar14,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" ( (pointer_expression "*(code *)PTR_dcgettext_000312c8" * (cast_expression "(code *)PTR_dcgettext_000312c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar14,5)" ( number_literal , identifier , number_literal )))) ;)) (labeled_statement "LAB_000153f8:\n  uVar9 = quote(pcVar23);" statement_identifier : (expression_statement "uVar9 = quote(pcVar23);" (assignment_expression "uVar9 = quote(pcVar23)" identifier = (call_expression "quote(pcVar23)" identifier (argument_list "(pcVar23)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);" (call_expression "(*(code *)PTR_error_00031298)(0,0,iVar8,uVar9)" (parenthesized_expression "(*(code *)PTR_error_00031298)" ( (pointer_expression "*(code *)PTR_error_00031298" * (cast_expression "(code *)PTR_error_00031298" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,iVar8,uVar9)" ( number_literal , number_literal , identifier , identifier ))) ;) (expression_statement "usage(1);" (call_expression "usage(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_00015430:\n  bVar12 = 0x7f;" statement_identifier : (expression_statement "bVar12 = 0x7f;" (assignment_expression "bVar12 = 0x7f" identifier = number_literal) ;)) (labeled_statement "LAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;" statement_identifier : (expression_statement "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;" (assignment_expression "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12" (pointer_expression "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" * (cast_expression "(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" ( (binary_expression "(int)param_5 + *(int *)(pcVar18 + 8) + 0x11" (binary_expression "(int)param_5 + *(int *)(pcVar18 + 8)" (cast_expression "(int)param_5" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pcVar18 + 8)" * (cast_expression "(int *)(pcVar18 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar18 + 8)" ( (binary_expression "pcVar18 + 8" identifier + number_literal) ))))) + number_literal) )))) = identifier) ;)) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" * identifier) = number_literal) ;) (goto_statement "goto LAB_00014ae0;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (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 ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & (unary_expression ~ (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) | (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (unary_expression ~ (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ])) & (pointer_expression * IDENT)) | (subscript_expression IDENT [ (binary_expression (binary_expression IDENT * LIT) + LIT) ]))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (pointer_expression * IDENT) & LIT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_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 (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (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 ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | 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 = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ])) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (unary_expression ~ (subscript_expression IDENT [ LIT ])) & (pointer_expression * IDENT)) | (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & (unary_expression ~ (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) | (subscript_expression IDENT [ LIT ])) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (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 ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + 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 ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT , IDENT , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT & LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }))) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) ))) )) || (parenthesized_expression ( (binary_expression IDENT == IDENT) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) || (parenthesized_expression ( (binary_expression IDENT != (parenthesized_expression ( (binary_expression IDENT & LIT) ))) ))) )) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)\n\n{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}" (primitive_type "void") (function_declarator "FUN_00014a28(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)" (identifier "FUN_00014a28") (parameter_list "(int param_1,undefined4 param_2,int param_3,int param_4,uint *param_5,\n                 undefined1 *param_6,undefined1 *param_7)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "uint *param_5" (type_identifier "uint") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "undefined1 *param_6" (type_identifier "undefined1") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "undefined1 *param_7" (type_identifier "undefined1") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  int iVar4;\n  int iVar5;\n  byte bVar12;\n  uint *puVar6;\n  undefined4 uVar7;\n  int iVar8;\n  undefined4 uVar9;\n  char cVar13;\n  uint uVar10;\n  int *piVar11;\n  undefined *puVar14;\n  int *piVar15;\n  int unaff_s0;\n  char *pcVar16;\n  byte *pbVar17;\n  char *pcVar18;\n  int unaff_s4;\n  undefined4 *puVar19;\n  uint *puVar20;\n  char *pcVar21;\n  code *pcVar22;\n  char *pcVar23;\n  undefined *local_6c;\n  char *local_68;\n  undefined *local_5c;\n  code *local_54;\n  code *local_48;\n  char *local_40;\n  uint local_3c [4];\n  uint local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_000312dc;\n  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;\n  if (param_4 < 2) goto LAB_00014b48;\n  unaff_s0 = 1;\n  local_6c = PTR_DAT_000310f8;\n  local_68 = PTR_DAT_00031108 + -0x20b4;\n  local_5c = PTR_DAT_00031108;\n  local_54 = (code *)(PTR_00031104 + 0x3234);\n  local_48 = (code *)(PTR_00031104 + 0x33ac);\nLAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);\n  pcVar16 = pcVar18 + param_3;\n  pcVar23 = *(char **)pcVar16;\n  iVar8 = unaff_s0;\n  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;\n  if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  goto joined_r0x00014b3c;\nLAB_00014ca0:\n  iVar4 = 0;\n  if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }\n  puVar14 = PTR_DAT_00031108 + -0x20ac;\n  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);\n  do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);\nLAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);\n  if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }\n  unaff_s0 = unaff_s0 + 1;\n  (*pcVar22)(param_5,iVar4);\n  *param_6 = 1;\n  *param_7 = 1;\njoined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }\n  goto LAB_00014af0;\n  while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }\n  *param_5 = local_3c[0];\n  param_5[1] = local_3c[1];\n  param_5[2] = local_3c[2];\n  param_5[3] = local_3c[3];\n  puVar6 = param_5;\n  while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }\nLAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;\nLAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);\nLAB_000153f8:\n  uVar9 = quote(pcVar23);\n  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);\n  usage(1);\nLAB_00015430:\n  bVar12 = 0x7f;\nLAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;\n  *param_7 = 1;\n  goto LAB_00014ae0;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "char cVar13;" (primitive_type "char") (identifier "cVar13") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int unaff_s0;" (primitive_type "int") (identifier "unaff_s0") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "int unaff_s4;" (primitive_type "int") (identifier "unaff_s4") (; ";")) (declaration "undefined4 *puVar19;" (type_identifier "undefined4") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "uint *puVar20;" (type_identifier "uint") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "char *pcVar21;" (primitive_type "char") (pointer_declarator "*pcVar21" (* "*") (identifier "pcVar21")) (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "char *pcVar23;" (primitive_type "char") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "undefined *local_6c;" (type_identifier "undefined") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "char *local_68;" (primitive_type "char") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined *local_5c;" (type_identifier "undefined") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "code *local_54;" (type_identifier "code") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "code *local_48;" (type_identifier "code") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "char *local_40;" (primitive_type "char") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "uint local_3c [4];" (type_identifier "uint") (array_declarator "local_3c [4]" (identifier "local_3c") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_000312dc;" (assignment_expression "puVar3 = PTR___stack_chk_guard_000312dc" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_000312dc")) (; ";")) (expression_statement "local_2c = *(uint *)PTR___stack_chk_guard_000312dc;" (assignment_expression "local_2c = *(uint *)PTR___stack_chk_guard_000312dc" (identifier "local_2c") (= "=") (pointer_expression "*(uint *)PTR___stack_chk_guard_000312dc" (* "*") (cast_expression "(uint *)PTR___stack_chk_guard_000312dc" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000312dc")))) (; ";")) (if_statement "if (param_4 < 2) goto LAB_00014b48;" (if "if") (parenthesized_expression "(param_4 < 2)" (( "(") (binary_expression "param_4 < 2" (identifier "param_4") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00014b48;" (goto "goto") (statement_identifier "LAB_00014b48") (; ";"))) (expression_statement "unaff_s0 = 1;" (assignment_expression "unaff_s0 = 1" (identifier "unaff_s0") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_6c = PTR_DAT_000310f8;" (assignment_expression "local_6c = PTR_DAT_000310f8" (identifier "local_6c") (= "=") (identifier "PTR_DAT_000310f8")) (; ";")) (expression_statement "local_68 = PTR_DAT_00031108 + -0x20b4;" (assignment_expression "local_68 = PTR_DAT_00031108 + -0x20b4" (identifier "local_68") (= "=") (binary_expression "PTR_DAT_00031108 + -0x20b4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x20b4"))) (; ";")) (expression_statement "local_5c = PTR_DAT_00031108;" (assignment_expression "local_5c = PTR_DAT_00031108" (identifier "local_5c") (= "=") (identifier "PTR_DAT_00031108")) (; ";")) (expression_statement "local_54 = (code *)(PTR_00031104 + 0x3234);" (assignment_expression "local_54 = (code *)(PTR_00031104 + 0x3234)" (identifier "local_54") (= "=") (cast_expression "(code *)(PTR_00031104 + 0x3234)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00031104 + 0x3234)" (( "(") (binary_expression "PTR_00031104 + 0x3234" (identifier "PTR_00031104") (+ "+") (number_literal "0x3234")) () ")")))) (; ";")) (expression_statement "local_48 = (code *)(PTR_00031104 + 0x33ac);" (assignment_expression "local_48 = (code *)(PTR_00031104 + 0x33ac)" (identifier "local_48") (= "=") (cast_expression "(code *)(PTR_00031104 + 0x33ac)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_00031104 + 0x33ac)" (( "(") (binary_expression "PTR_00031104 + 0x33ac" (identifier "PTR_00031104") (+ "+") (number_literal "0x33ac")) () ")")))) (; ";")) (labeled_statement "LAB_00014af0:\n  pcVar18 = (char *)(unaff_s0 * 4);" (statement_identifier "LAB_00014af0") (: ":") (expression_statement "pcVar18 = (char *)(unaff_s0 * 4);" (assignment_expression "pcVar18 = (char *)(unaff_s0 * 4)" (identifier "pcVar18") (= "=") (cast_expression "(char *)(unaff_s0 * 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s0 * 4)" (( "(") (binary_expression "unaff_s0 * 4" (identifier "unaff_s0") (* "*") (number_literal "4")) () ")")))) (; ";"))) (expression_statement "pcVar16 = pcVar18 + param_3;" (assignment_expression "pcVar16 = pcVar18 + param_3" (identifier "pcVar16") (= "=") (binary_expression "pcVar18 + param_3" (identifier "pcVar18") (+ "+") (identifier "param_3"))) (; ";")) (expression_statement "pcVar23 = *(char **)pcVar16;" (assignment_expression "pcVar23 = *(char **)pcVar16" (identifier "pcVar23") (= "=") (pointer_expression "*(char **)pcVar16" (* "*") (cast_expression "(char **)pcVar16" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar16")))) (; ";")) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" (identifier "iVar8") (= "=") (identifier "unaff_s0")) (; ";")) (if_statement "if (pcVar23 == (char *)0x0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(pcVar23 == (char *)0x0)" (( "(") (binary_expression "pcVar23 == (char *)0x0" (identifier "pcVar23") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (if_statement "if (*pcVar23 == '-') {\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" (if "if") (parenthesized_expression "(*pcVar23 == '-')" (( "(") (binary_expression "*pcVar23 == '-'" (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n    pcVar23 = pcVar23 + 1;\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;\n  }" ({ "{") (expression_statement "pcVar23 = pcVar23 + 1;" (assignment_expression "pcVar23 = pcVar23 + 1" (identifier "pcVar23") (= "=") (binary_expression "pcVar23 + 1" (identifier "pcVar23") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x20a4)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x20a4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x20a4")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      bVar2 = true;\n      goto LAB_00014bb8;\n    }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_00014bb8;" (goto "goto") (statement_identifier "LAB_00014bb8") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x1048" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x1048")) () ")")))) (= "=") (number_literal "0x540e")) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" (else "else") (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);\n    if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }\n    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;\n  }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x20a4)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x20a4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x20a4")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      bVar2 = false;\nLAB_00014bb8:\n      iVar4 = 0;\n      puVar19 = (undefined4 *)(local_6c + 0x8f4);\n      pcVar21 = local_68;\n      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }\n      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);\n      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;\n      pcVar18 = (char *)0x14;\n      if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);\n      if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);\n      if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);\n      if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }\n      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);\n      while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }\n      do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );\n    }" ({ "{") (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_00014bb8:\n      iVar4 = 0;" (statement_identifier "LAB_00014bb8") (: ":") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";"))) (expression_statement "puVar19 = (undefined4 *)(local_6c + 0x8f4);" (assignment_expression "puVar19 = (undefined4 *)(local_6c + 0x8f4)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)(local_6c + 0x8f4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_6c + 0x8f4)" (( "(") (binary_expression "local_6c + 0x8f4" (identifier "local_6c") (+ "+") (number_literal "0x8f4")) () ")")))) (; ";")) (expression_statement "pcVar21 = local_68;" (assignment_expression "pcVar21 = local_68" (identifier "pcVar21") (= "=") (identifier "local_68")) (; ";")) (while_statement "while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }" (while "while") (parenthesized_expression "(iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0)" (( "(") (comma_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,pcVar21)" (( "(") (identifier "pcVar23") (, ",") (identifier "pcVar21") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        pcVar21 = (char *)*puVar19;\n        iVar4 = iVar4 + 1;\n        puVar19 = puVar19 + 5;\n        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;\n      }" ({ "{") (expression_statement "pcVar21 = (char *)*puVar19;" (assignment_expression "pcVar21 = (char *)*puVar19" (identifier "pcVar21") (= "=") (cast_expression "(char *)*puVar19" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar19 = puVar19 + 5;" (assignment_expression "puVar19 = puVar19 + 5" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 5" (identifier "puVar19") (+ "+") (number_literal "5"))) (; ";")) (if_statement "if (pcVar21 == (char *)0x0) goto LAB_00014ca0;" (if "if") (parenthesized_expression "(pcVar21 == (char *)0x0)" (( "(") (binary_expression "pcVar21 == (char *)0x0" (identifier "pcVar21") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00014ca0;" (goto "goto") (statement_identifier "LAB_00014ca0") (; ";"))) (} "}"))) (expression_statement "piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);" (assignment_expression "piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0)" (identifier "piVar15") (= "=") (cast_expression "(int *)(PTR_DAT_000310f8 + 0x8e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x8e0)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x8e0" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x8e0")) () ")")))) (; ";")) (if_statement "if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;" (if "if") (parenthesized_expression "((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0" (parenthesized_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10)" (( "(") (binary_expression "*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10" (pointer_expression "*(byte *)(piVar15 + iVar4 * 5 + 2)" (* "*") (cast_expression "(byte *)(piVar15 + iVar4 * 5 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15 + iVar4 * 5 + 2)" (( "(") (binary_expression "piVar15 + iVar4 * 5 + 2" (binary_expression "piVar15 + iVar4 * 5" (identifier "piVar15") (+ "+") (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014c1c;" (goto "goto") (statement_identifier "LAB_00014c1c") (; ";"))) (expression_statement "pcVar18 = (char *)0x14;" (assignment_expression "pcVar18 = (char *)0x14" (identifier "pcVar18") (= "=") (cast_expression "(char *)0x14" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x14"))) (; ";")) (if_statement "if (bVar2) {\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }\n      else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n      }" ({ "{") (if_statement "if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {\n          *param_7 = 1;\n          goto LAB_00015140;\n        }" (if "if") (parenthesized_expression "((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0" (parenthesized_expression "(*(byte *)(piVar15 + iVar4 * 5 + 2) & 4)" (( "(") (binary_expression "*(byte *)(piVar15 + iVar4 * 5 + 2) & 4" (pointer_expression "*(byte *)(piVar15 + iVar4 * 5 + 2)" (* "*") (cast_expression "(byte *)(piVar15 + iVar4 * 5 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15 + iVar4 * 5 + 2)" (( "(") (binary_expression "piVar15 + iVar4 * 5 + 2" (binary_expression "piVar15 + iVar4 * 5" (identifier "piVar15") (+ "+") (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5"))) (+ "+") (number_literal "2")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *param_7 = 1;\n          goto LAB_00015140;\n        }" ({ "{") (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00015140;" (goto "goto") (statement_identifier "LAB_00015140") (; ";")) (} "}"))) (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" (identifier "puVar6") (= "=") (cast_expression "(uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" (identifier "FUN_00012dc8") (argument_list "(piVar15[iVar4 * 5 + 1],param_5)" (( "(") (subscript_expression "piVar15[iVar4 * 5 + 1]" (identifier "piVar15") ([ "[") (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5")) (+ "+") (number_literal "1")) (] "]")) (, ",") (identifier "param_5") () ")"))))) (; ";")) (if_statement "if (puVar6 != (uint *)0x0) {\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(puVar6 != (uint *)0x0)" (( "(") (binary_expression "puVar6 != (uint *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (expression_statement "*puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);" (assignment_expression "*puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "*puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (& "&") (unary_expression "~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (~ "~") (parenthesized_expression "(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3])" (( "(") (binary_expression "piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]" (subscript_expression "piVar15[iVar4 * 5 + 4]" (identifier "piVar15") ([ "[") (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5")) (+ "+") (number_literal "4")) (] "]")) (| "|") (subscript_expression "piVar15[iVar4 * 5 + 3]" (identifier "piVar15") ([ "[") (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5")) (+ "+") (number_literal "3")) (] "]"))) () ")"))))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f90)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f90" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f90")) () ")")))) (; ";")) (if_statement "if (((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)) {\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0))" (( "(") (binary_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" (parenthesized_expression "((iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)\n            )" (( "(") (binary_expression "(iVar4 == 0) ||\n            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f88)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f88" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f88")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),\n                 iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f80)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f80" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f80")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffecf")) (| "|") (number_literal "0x30"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" (else "else") (compound_statement "{\n        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);\n        if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);\n        if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }\n      }" ({ "{") (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" (identifier "puVar6") (= "=") (cast_expression "(uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5)" (identifier "FUN_00012dc8") (argument_list "(piVar15[iVar4 * 5 + 1],param_5)" (( "(") (subscript_expression "piVar15[iVar4 * 5 + 1]" (identifier "piVar15") ([ "[") (binary_expression "iVar4 * 5 + 1" (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5")) (+ "+") (number_literal "1")) (] "]")) (, ",") (identifier "param_5") () ")"))))) (; ";")) (if_statement "if (puVar6 != (uint *)0x0) {\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(puVar6 != (uint *)0x0)" (( "(") (binary_expression "puVar6 != (uint *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (expression_statement "*puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];" (assignment_expression "*puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3]" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3]" (binary_expression "~piVar15[iVar4 * 5 + 4] & *puVar6" (unary_expression "~piVar15[iVar4 * 5 + 4]" (~ "~") (subscript_expression "piVar15[iVar4 * 5 + 4]" (identifier "piVar15") ([ "[") (binary_expression "iVar4 * 5 + 4" (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5")) (+ "+") (number_literal "4")) (] "]"))) (& "&") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (| "|") (subscript_expression "piVar15[iVar4 * 5 + 3]" (identifier "piVar15") ([ "[") (binary_expression "iVar4 * 5 + 3" (binary_expression "iVar4 * 5" (identifier "iVar4") (* "*") (number_literal "5")) (+ "+") (number_literal "3")) (] "]")))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f90)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f90" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f90")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))\n        {\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f88)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f88" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f88")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffccf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (expression_statement "param_5[2] = param_5[2] & 0xfffffccf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffccf | 0x120" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffccf | 0x120" (binary_expression "param_5[2] & 0xfffffccf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffccf")) (| "|") (number_literal "0x120"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1f80)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f80" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f80")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_5[2] = param_5[2] & 0xfffffccf | 800;\n          goto LAB_00015240;\n        }" ({ "{") (expression_statement "param_5[2] = param_5[2] & 0xfffffccf | 800;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffccf | 800" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffccf | 800" (binary_expression "param_5[2] & 0xfffffccf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffccf")) (| "|") (number_literal "800"))) (; ";")) (goto_statement "goto LAB_00015240;" (goto "goto") (statement_identifier "LAB_00015240") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x1ac0)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1ac0" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1ac0")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        *param_5 = *param_5 & 0xfffffe3f | 0x100;\n        param_5[1] = param_5[1] & 0xffffffd3 | 4;\n        goto LAB_00015240;\n      }" ({ "{") (if_statement "if (!bVar2) {\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n          *param_5 = *param_5 & 0xfffffeff;\n          param_5[1] = param_5[1] & 0xfffffffb;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (expression_statement "*param_5 = *param_5 & 0xfffffeff;" (assignment_expression "*param_5 = *param_5 & 0xfffffeff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xfffffeff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xfffffeff"))) (; ";")) (expression_statement "param_5[1] = param_5[1] & 0xfffffffb;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffb" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] & 0xfffffffb" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffb"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "*param_5 = *param_5 & 0xfffffe3f | 0x100;" (assignment_expression "*param_5 = *param_5 & 0xfffffe3f | 0x100" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xfffffe3f | 0x100" (binary_expression "*param_5 & 0xfffffe3f" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xfffffe3f")) (| "|") (number_literal "0x100"))) (; ";")) (expression_statement "param_5[1] = param_5[1] & 0xffffffd3 | 4;" (assignment_expression "param_5[1] = param_5[1] & 0xffffffd3 | 4" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] & 0xffffffd3 | 4" (binary_expression "param_5[1] & 0xffffffd3" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xffffffd3")) (| "|") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_00015240;" (goto "goto") (statement_identifier "LAB_00015240") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x209c)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x209c" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x209c")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n        *(undefined1 *)(param_5 + 5) = 0x15;\n        *param_7 = 1;\n        goto LAB_00014ae0;\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)param_5 + 0x13) = 0x7f;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x13) = 0x7f" (pointer_expression "*(undefined1 *)((int)param_5 + 0x13)" (* "*") (cast_expression "(undefined1 *)((int)param_5 + 0x13)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + 0x13)" (( "(") (binary_expression "(int)param_5 + 0x13" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (number_literal "0x13")) () ")")))) (= "=") (number_literal "0x7f")) (; ";")) (expression_statement "*(undefined1 *)(param_5 + 5) = 0x15;" (assignment_expression "*(undefined1 *)(param_5 + 5) = 0x15" (pointer_expression "*(undefined1 *)(param_5 + 5)" (* "*") (cast_expression "(undefined1 *)(param_5 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 5)" (( "(") (binary_expression "param_5 + 5" (identifier "param_5") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "0x15")) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2098)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2098" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2098")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);\n        if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);\n        if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }\n        goto LAB_00015240;\n      }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x207c)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x207c" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x207c")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar10 = param_5[3];\n          if (!bVar2) goto LAB_00015634;\n          param_5[3] = uVar10 | 2;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (expression_statement "uVar10 = param_5[3];" (assignment_expression "uVar10 = param_5[3]" (identifier "uVar10") (= "=") (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (!bVar2) goto LAB_00015634;" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (goto_statement "goto LAB_00015634;" (goto "goto") (statement_identifier "LAB_00015634") (; ";"))) (expression_statement "param_5[3] = uVar10 | 2;" (assignment_expression "param_5[3] = uVar10 | 2" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar10 | 2" (identifier "uVar10") (| "|") (number_literal "2"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2074)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2074" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2074")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x20;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (if_statement "if (!bVar2) {\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "*param_5 = *param_5 & 0xffffffdf;" (assignment_expression "*param_5 = *param_5 & 0xffffffdf" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xffffffdf" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xffffffdf"))) (; ";")) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffecf")) (| "|") (number_literal "0x30"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "*param_5 = *param_5 | 0x20;" (assignment_expression "*param_5 = *param_5 | 0x20" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 | 0x20" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (| "|") (number_literal "0x20"))) (; ";")) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x120" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffecf | 0x120" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffecf")) (| "|") (number_literal "0x120"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x206c)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x206c" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x206c")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 1;\n          param_5[2] = param_5[2] & 0xfffffecf | 0x120;\n          *param_5 = *param_5 | 0x20;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (if_statement "if (!bVar2) {\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n            param_5[2] = param_5[2] & 0xfffffecf | 0x30;\n            *param_5 = *param_5 & 0xffffffdf;\n            param_5[1] = param_5[1] & 0xfffffffe;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x30;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x30" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffecf | 0x30" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffecf")) (| "|") (number_literal "0x30"))) (; ";")) (expression_statement "*param_5 = *param_5 & 0xffffffdf;" (assignment_expression "*param_5 = *param_5 & 0xffffffdf" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xffffffdf" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xffffffdf"))) (; ";")) (expression_statement "param_5[1] = param_5[1] & 0xfffffffe;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "param_5[1] = param_5[1] | 1;" (assignment_expression "param_5[1] = param_5[1] | 1" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] | 1" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (| "|") (number_literal "1"))) (; ";")) (expression_statement "param_5[2] = param_5[2] & 0xfffffecf | 0x120;" (assignment_expression "param_5[2] = param_5[2] & 0xfffffecf | 0x120" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "param_5[2] & 0xfffffecf | 0x120" (binary_expression "param_5[2] & 0xfffffecf" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xfffffecf")) (| "|") (number_literal "0x120"))) (; ";")) (expression_statement "*param_5 = *param_5 | 0x20;" (assignment_expression "*param_5 = *param_5 | 0x20" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 | 0x20" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (| "|") (number_literal "0x20"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2064)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2064" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2064")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))\n        {\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2060)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2060" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2060")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = 0;\n          *(undefined1 *)((int)param_5 + 0x16) = 0;\n          param_5[1] = param_5[1] & 0xfffffffe;\n          *(undefined1 *)((int)param_5 + 0x15) = 1;\n          param_5[3] = param_5[3] & 0xfffffff8;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (if_statement "if (*pcVar21 == 'r') {\n            if (bVar2) goto LAB_000159a8;\n          }\n          else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(*pcVar21 == 'r')" (( "(") (binary_expression "*pcVar21 == 'r'" (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) (== "==") (char_literal "'r'" (' "'") (character "r") (' "'"))) () ")")) (compound_statement "{\n            if (bVar2) goto LAB_000159a8;\n          }" ({ "{") (if_statement "if (bVar2) goto LAB_000159a8;" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (goto_statement "goto LAB_000159a8;" (goto "goto") (statement_identifier "LAB_000159a8") (; ";"))) (} "}")) (else_clause "else if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (else "else") (if_statement "if ((*pcVar21 == 'c') && (!bVar2)) {\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "((*pcVar21 == 'c') && (!bVar2))" (( "(") (binary_expression "(*pcVar21 == 'c') && (!bVar2)" (parenthesized_expression "(*pcVar21 == 'c')" (( "(") (binary_expression "*pcVar21 == 'c'" (pointer_expression "*pcVar21" (* "*") (identifier "pcVar21")) (== "==") (char_literal "'c'" (' "'") (character "c") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")"))) () ")")) (compound_statement "{\nLAB_000159a8:\n            param_5[1] = param_5[1] | 1;\n            param_5[3] = param_5[3] | 3;\n            *param_5 = *param_5 | 0x526;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (labeled_statement "LAB_000159a8:\n            param_5[1] = param_5[1] | 1;" (statement_identifier "LAB_000159a8") (: ":") (expression_statement "param_5[1] = param_5[1] | 1;" (assignment_expression "param_5[1] = param_5[1] | 1" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] | 1" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (| "|") (number_literal "1"))) (; ";"))) (expression_statement "param_5[3] = param_5[3] | 3;" (assignment_expression "param_5[3] = param_5[3] | 3" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_5[3] | 3" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (| "|") (number_literal "3"))) (; ";")) (expression_statement "*param_5 = *param_5 | 0x526;" (assignment_expression "*param_5 = *param_5 | 0x526" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 | 0x526" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (| "|") (number_literal "0x526"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))))) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)((int)param_5 + 0x16) = 0;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x16) = 0" (pointer_expression "*(undefined1 *)((int)param_5 + 0x16)" (* "*") (cast_expression "(undefined1 *)((int)param_5 + 0x16)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + 0x16)" (( "(") (binary_expression "(int)param_5 + 0x16" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (number_literal "0x16")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_5[1] = param_5[1] & 0xfffffffe;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] & 0xfffffffe" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "*(undefined1 *)((int)param_5 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)param_5 + 0x15)" (* "*") (cast_expression "(undefined1 *)((int)param_5 + 0x15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + 0x15)" (( "(") (binary_expression "(int)param_5 + 0x15" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (number_literal "0x15")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "param_5[3] = param_5[3] & 0xfffffff8;" (assignment_expression "param_5[3] = param_5[3] & 0xfffffff8" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_5[3] & 0xfffffff8" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xfffffff8"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2058)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2058" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2058")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          *param_5 = *param_5 | 0x800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (if_statement "if (!bVar2) {\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "*param_5 = *param_5 & 0xfffff7ff;" (assignment_expression "*param_5 = *param_5 & 0xfffff7ff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xfffff7ff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xfffff7ff"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "*param_5 = *param_5 | 0x800;" (assignment_expression "*param_5 = *param_5 | 0x800" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 | 0x800" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (| "|") (number_literal "0x800"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2050)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2050" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2050")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[1] = param_5[1] | 0x1800;\n          *param_7 = 1;\n          goto LAB_00014ae0;\n        }" ({ "{") (if_statement "if (!bVar2) {\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (compound_statement "{\n            param_5[1] = param_5[1] & 0xffffe7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "param_5[1] = param_5[1] & 0xffffe7ff;" (assignment_expression "param_5[1] = param_5[1] & 0xffffe7ff" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] & 0xffffe7ff" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xffffe7ff"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "param_5[1] = param_5[1] | 0x1800;" (assignment_expression "param_5[1] = param_5[1] | 0x1800" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] | 0x1800" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (| "|") (number_literal "0x1800"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2048)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2048" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2048")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))\n        {\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }\n        else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2040)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2040" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2040")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          param_5[3] = param_5[3] | 4;\n          *param_5 = *param_5 | 0x200;\n          param_5[1] = param_5[1] | 2;\n        }" ({ "{") (if_statement "if (bVar2) {\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n            param_5[3] = param_5[3] & 0xfffffffb;\n            *param_5 = *param_5 & 0xfffffdff;\n            param_5[1] = param_5[1] & 0xfffffffd;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "param_5[3] = param_5[3] & 0xfffffffb;" (assignment_expression "param_5[3] = param_5[3] & 0xfffffffb" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_5[3] & 0xfffffffb" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xfffffffb"))) (; ";")) (expression_statement "*param_5 = *param_5 & 0xfffffdff;" (assignment_expression "*param_5 = *param_5 & 0xfffffdff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xfffffdff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xfffffdff"))) (; ";")) (expression_statement "param_5[1] = param_5[1] & 0xfffffffd;" (assignment_expression "param_5[1] = param_5[1] & 0xfffffffd" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] & 0xfffffffd" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "param_5[3] = param_5[3] | 4;" (assignment_expression "param_5[3] = param_5[3] | 4" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_5[3] | 4" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (| "|") (number_literal "4"))) (; ";")) (expression_statement "*param_5 = *param_5 | 0x200;" (assignment_expression "*param_5 = *param_5 | 0x200" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 | 0x200" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (| "|") (number_literal "0x200"))) (; ";")) (expression_statement "param_5[1] = param_5[1] | 2;" (assignment_expression "param_5[1] = param_5[1] | 2" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_5[1] | 2" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (| "|") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" (else "else") (compound_statement "{\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);\n          if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);\n          if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }\n        }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2038)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2038" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2038")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            param_5[3] = param_5[3] | 0xa10;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "param_5[3] = param_5[3] | 0xa10;" (assignment_expression "param_5[3] = param_5[3] | 0xa10" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_5[3] | 0xa10" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (| "|") (number_literal "0xa10"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar21,PTR_DAT_00031108 + -0x2034)" (( "(") (identifier "pcVar21") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2034" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2034")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            *(undefined1 *)((int)param_5 + 0x11) = 3;\n            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;\n            param_5[3] = param_5[3] | 0xa10;\n            *(undefined1 *)(param_5 + 5) = 0x15;\n            *param_5 = *param_5 & 0xfffff7ff;\n            *param_7 = 1;\n            goto LAB_00014ae0;\n          }" ({ "{") (expression_statement "*(undefined1 *)((int)param_5 + 0x11) = 3;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x11) = 3" (pointer_expression "*(undefined1 *)((int)param_5 + 0x11)" (* "*") (cast_expression "(undefined1 *)((int)param_5 + 0x11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + 0x11)" (( "(") (binary_expression "(int)param_5 + 0x11" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined1 *)((int)param_5 + 0x13) = 0x7f;" (assignment_expression "*(undefined1 *)((int)param_5 + 0x13) = 0x7f" (pointer_expression "*(undefined1 *)((int)param_5 + 0x13)" (* "*") (cast_expression "(undefined1 *)((int)param_5 + 0x13)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + 0x13)" (( "(") (binary_expression "(int)param_5 + 0x13" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (number_literal "0x13")) () ")")))) (= "=") (number_literal "0x7f")) (; ";")) (expression_statement "param_5[3] = param_5[3] | 0xa10;" (assignment_expression "param_5[3] = param_5[3] | 0xa10" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "param_5[3] | 0xa10" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (| "|") (number_literal "0xa10"))) (; ";")) (expression_statement "*(undefined1 *)(param_5 + 5) = 0x15;" (assignment_expression "*(undefined1 *)(param_5 + 5) = 0x15" (pointer_expression "*(undefined1 *)(param_5 + 5)" (* "*") (cast_expression "(undefined1 *)(param_5 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 5)" (( "(") (binary_expression "param_5 + 5" (identifier "param_5") (+ "+") (number_literal "5")) () ")")))) (= "=") (number_literal "0x15")) (; ";")) (expression_statement "*param_5 = *param_5 & 0xfffff7ff;" (assignment_expression "*param_5 = *param_5 & 0xfffff7ff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (binary_expression "*param_5 & 0xfffff7ff" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (& "&") (number_literal "0xfffff7ff"))) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_00015240;" (goto "goto") (statement_identifier "LAB_00015240") (; ";")) (} "}"))) (expression_statement "piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);" (assignment_expression "piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc)" (identifier "piVar11") (= "=") (cast_expression "(int *)(PTR_DAT_000310f8 + 0x7fc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x7fc)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x7fc" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x7fc")) () ")")))) (; ";")) (while_statement "while (*piVar11 != 0) {\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }" (while "while") (parenthesized_expression "(*piVar11 != 0)" (( "(") (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);\n        piVar11 = piVar11 + 3;\n      }" ({ "{") (expression_statement "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);" (assignment_expression "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1)" (pointer_expression "*(undefined1 *)((int)param_5 + piVar11[2] + 0x11)" (* "*") (cast_expression "(undefined1 *)((int)param_5 + piVar11[2] + 0x11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + piVar11[2] + 0x11)" (( "(") (binary_expression "(int)param_5 + piVar11[2] + 0x11" (binary_expression "(int)param_5 + piVar11[2]" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]"))) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(piVar11 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar11 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar11 + 1)" (( "(") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "piVar11 = piVar11 + 3;" (assignment_expression "piVar11 = piVar11 + 3" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 3" (identifier "piVar11") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (do_statement "do {\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      } while( true );" (do "do") (compound_statement "{\n        while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }\n        if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }\n        if ((bVar12 & 2) == 0) goto LAB_00015734;\n        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n        if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }\n        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);\n        piVar15 = piVar15 + 5;\n      }" ({ "{") (while_statement "while( true ) {\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if (*piVar15 == 0) goto LAB_00015240;\n          bVar12 = *(byte *)(piVar15 + 2);\n          if ((bVar12 & 0x10) == 0) break;\nLAB_00015734:\n          piVar15 = piVar15 + 5;\n        }" ({ "{") (if_statement "if (*piVar15 == 0) goto LAB_00015240;" (if "if") (parenthesized_expression "(*piVar15 == 0)" (( "(") (binary_expression "*piVar15 == 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00015240;" (goto "goto") (statement_identifier "LAB_00015240") (; ";"))) (expression_statement "bVar12 = *(byte *)(piVar15 + 2);" (assignment_expression "bVar12 = *(byte *)(piVar15 + 2)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)(piVar15 + 2)" (* "*") (cast_expression "(byte *)(piVar15 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15 + 2)" (( "(") (binary_expression "piVar15 + 2" (identifier "piVar15") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if ((bVar12 & 0x10) == 0) break;" (if "if") (parenthesized_expression "((bVar12 & 0x10) == 0)" (( "(") (binary_expression "(bVar12 & 0x10) == 0" (parenthesized_expression "(bVar12 & 0x10)" (( "(") (binary_expression "bVar12 & 0x10" (identifier "bVar12") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00015734:\n          piVar15 = piVar15 + 5;" (statement_identifier "LAB_00015734") (: ":") (expression_statement "piVar15 = piVar15 + 5;" (assignment_expression "piVar15 = piVar15 + 5" (identifier "piVar15") (= "=") (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5"))) (; ";"))) (} "}"))) (if_statement "if ((bVar12 & 1) != 0) {\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }" (if "if") (parenthesized_expression "((bVar12 & 1) != 0)" (( "(") (binary_expression "(bVar12 & 1) != 0" (parenthesized_expression "(bVar12 & 1)" (( "(") (binary_expression "bVar12 & 1" (identifier "bVar12") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);\n          if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }\n          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];\n          goto LAB_00015734;\n        }" ({ "{") (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5)" (identifier "puVar6") (= "=") (cast_expression "(uint *)FUN_00012dc8(piVar15[1],param_5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00012dc8(piVar15[1],param_5)" (identifier "FUN_00012dc8") (argument_list "(piVar15[1],param_5)" (( "(") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_5") () ")"))))) (; ";")) (if_statement "if (puVar6 == (uint *)0x0) {\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" (if "if") (parenthesized_expression "(puVar6 == (uint *)0x0)" (( "(") (binary_expression "puVar6 == (uint *)0x0" (identifier "puVar6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uVar9 = 0x8cb;\n            goto LAB_00015808;\n          }" ({ "{") (expression_statement "uVar9 = 0x8cb;" (assignment_expression "uVar9 = 0x8cb" (identifier "uVar9") (= "=") (number_literal "0x8cb")) (; ";")) (goto_statement "goto LAB_00015808;" (goto "goto") (statement_identifier "LAB_00015808") (; ";")) (} "}"))) (expression_statement "*puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];" (assignment_expression "*puVar6 = ~piVar15[4] & *puVar6 | piVar15[3]" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "~piVar15[4] & *puVar6 | piVar15[3]" (binary_expression "~piVar15[4] & *puVar6" (unary_expression "~piVar15[4]" (~ "~") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]"))) (& "&") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (| "|") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]")))) (; ";")) (goto_statement "goto LAB_00015734;" (goto "goto") (statement_identifier "LAB_00015734") (; ";")) (} "}"))) (if_statement "if ((bVar12 & 2) == 0) goto LAB_00015734;" (if "if") (parenthesized_expression "((bVar12 & 2) == 0)" (( "(") (binary_expression "(bVar12 & 2) == 0" (parenthesized_expression "(bVar12 & 2)" (( "(") (binary_expression "bVar12 & 2" (identifier "bVar12") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00015734;" (goto "goto") (statement_identifier "LAB_00015734") (; ";"))) (expression_statement "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);" (assignment_expression "puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5)" (identifier "puVar6") (= "=") (cast_expression "(uint *)FUN_00012dc8(piVar15[1],param_5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00012dc8(piVar15[1],param_5)" (identifier "FUN_00012dc8") (argument_list "(piVar15[1],param_5)" (( "(") (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "param_5") () ")"))))) (; ";")) (if_statement "if (puVar6 == (uint *)0x0) {\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" (if "if") (parenthesized_expression "(puVar6 == (uint *)0x0)" (( "(") (binary_expression "puVar6 == (uint *)0x0" (identifier "puVar6") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar9 = 0x8d1;\nLAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);\n          return;\n        }" ({ "{") (expression_statement "uVar9 = 0x8d1;" (assignment_expression "uVar9 = 0x8d1" (identifier "uVar9") (= "=") (number_literal "0x8d1")) (; ";")) (labeled_statement "LAB_00015808:\n          (*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" (statement_identifier "LAB_00015808") (: ":") (expression_statement "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c);" (call_expression "(*(code *)PTR___assert_fail_000311f4)\n                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" (parenthesized_expression "(*(code *)PTR___assert_fail_000311f4)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_000311f4" (* "*") (cast_expression "(code *)PTR___assert_fail_000311f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_000311f4"))) () ")")) (argument_list "(PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,\n                     PTR_DAT_00031108 + -0x1a4c)" (( "(") (binary_expression "PTR_DAT_00031108 + -0x2084" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2084")) (, ",") (binary_expression "PTR_DAT_00031108 + -0x2090" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2090")) (, ",") (identifier "uVar9") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1a4c" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1a4c")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);" (assignment_expression "*puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3])" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "*puVar6 & ~(piVar15[4] | piVar15[3])" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (& "&") (unary_expression "~(piVar15[4] | piVar15[3])" (~ "~") (parenthesized_expression "(piVar15[4] | piVar15[3])" (( "(") (binary_expression "piVar15[4] | piVar15[3]" (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]")) (| "|") (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]"))) () ")"))))) (; ";")) (expression_statement "piVar15 = piVar15 + 5;" (assignment_expression "piVar15 = piVar15 + 5" (identifier "piVar15") (= "=") (binary_expression "piVar15 + 5" (identifier "piVar15") (+ "+") (number_literal "5"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x1048)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x1048)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x1048" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x1048")) () ")")))) (= "=") (number_literal "0x540f")) (; ";")) (} "}")))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto joined_r0x00014b3c;" (goto "goto") (statement_identifier "joined_r0x00014b3c") (; ";")) (labeled_statement "LAB_00014ca0:\n  iVar4 = 0;" (statement_identifier "LAB_00014ca0") (: ":") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (bVar2) {\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\nLAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);\n    pcVar23 = pcVar23 + -1;\n    goto LAB_000153f8;\n  }" ({ "{") (labeled_statement "LAB_00015140:\n    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" (statement_identifier "LAB_00015140") (: ":") (expression_statement "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);" (assignment_expression "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000312c8" (* "*") (cast_expression "(code *)PTR_dcgettext_000312c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000312c8"))) () ")")) (argument_list "(0,PTR_DAT_00031108 + -0x2030,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2030" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2030")) (, ",") (number_literal "5") () ")")))) (; ";"))) (expression_statement "pcVar23 = pcVar23 + -1;" (assignment_expression "pcVar23 = pcVar23 + -1" (identifier "pcVar23") (= "=") (binary_expression "pcVar23 + -1" (identifier "pcVar23") (+ "+") (number_literal "-1"))) (; ";")) (goto_statement "goto LAB_000153f8;" (goto "goto") (statement_identifier "LAB_000153f8") (; ";")) (} "}"))) (expression_statement "puVar14 = PTR_DAT_00031108 + -0x20ac;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x20ac" (identifier "puVar14") (= "=") (binary_expression "PTR_DAT_00031108 + -0x20ac" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x20ac"))) (; ";")) (expression_statement "puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);" (assignment_expression "puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808)" (identifier "puVar19") (= "=") (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x808)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x808)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x808" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x808")) () ")")))) (; ";")) (do_statement "do {\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  } while (puVar14 != (undefined *)0x0);" (do "do") (compound_statement "{\n    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);\n    if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }\n    puVar14 = (undefined *)*puVar19;\n    iVar4 = iVar4 + 1;\n    puVar19 = puVar19 + 3;\n  }" ({ "{") (expression_statement "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);" (assignment_expression "iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,puVar14)" (( "(") (identifier "pcVar23") (, ",") (identifier "puVar14") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;\n      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);\n      if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }\n      bVar12 = (*local_54)(pbVar17,0xff);\n      goto LAB_00014d64;\n    }" ({ "{") (if_statement "if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))\n      goto LAB_000153d8;" (if "if") (parenthesized_expression "((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))" (( "(") (binary_expression "(param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" (( "(") (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1")) (== "==") (identifier "unaff_s0")) () ")")) (|| "||") (parenthesized_expression "(pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0)" (( "(") (comma_expression "pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0" (assignment_expression "pbVar17 = *(byte **)(pcVar16 + 4)" (identifier "pbVar17") (= "=") (pointer_expression "*(byte **)(pcVar16 + 4)" (* "*") (cast_expression "(byte **)(pcVar16 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "pbVar17 == (byte *)0x0" (identifier "pbVar17") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000153d8;" (goto "goto") (statement_identifier "LAB_000153d8") (; ";"))) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" (identifier "iVar8") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;" (assignment_expression "pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc" (identifier "pcVar18") (= "=") (binary_expression "PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc" (binary_expression "PTR_DAT_000310f8 + iVar4 * 0xc" (identifier "PTR_DAT_000310f8") (+ "+") (binary_expression "iVar4 * 0xc" (identifier "iVar4") (* "*") (number_literal "0xc"))) (+ "+") (number_literal "0x7fc"))) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(puVar14,PTR_DAT_00031108 + -0x2004)" (( "(") (identifier "puVar14") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2004" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2004")) () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }" (if "if") (parenthesized_expression "((iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0))" (( "(") (binary_expression "(iVar4 != 0) &&\n         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(puVar14,PTR_DAT_00031108 + -0x2000)" (( "(") (identifier "puVar14") (, ",") (binary_expression "PTR_DAT_00031108 + -0x2000" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2000")) () ")")))) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        bVar12 = *pbVar17;\n        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;\n        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);\n        if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }\n        if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }\n      }" ({ "{") (expression_statement "bVar12 = *pbVar17;" (assignment_expression "bVar12 = *pbVar17" (identifier "bVar12") (= "=") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) (; ";")) (if_statement "if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;" (if "if") (parenthesized_expression "((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0))" (( "(") (binary_expression "(bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)" (parenthesized_expression "(bVar12 == 0)" (( "(") (binary_expression "bVar12 == 0" (identifier "bVar12") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(bVar1 = pbVar17[1], bVar1 == 0)" (( "(") (comma_expression "bVar1 = pbVar17[1], bVar1 == 0" (assignment_expression "bVar1 = pbVar17[1]" (identifier "bVar1") (= "=") (subscript_expression "pbVar17[1]" (identifier "pbVar17") ([ "[") (number_literal "1") (] "]"))) (, ",") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00014d64;" (goto "goto") (statement_identifier "LAB_00014d64") (; ";"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pbVar17,PTR_DAT_00031108 + -0x1ff8)" (( "(") (identifier "pbVar17") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1ff8" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1ff8")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))\n        {\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pbVar17,PTR_DAT_00031108 + -0x1ff4)" (( "(") (identifier "pbVar17") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1ff4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1ff4")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          bVar12 = 0;\n          goto LAB_00014d64;\n        }" ({ "{") (expression_statement "bVar12 = 0;" (assignment_expression "bVar12 = 0" (identifier "bVar12") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00014d64;" (goto "goto") (statement_identifier "LAB_00014d64") (; ";")) (} "}"))) (if_statement "if (bVar12 == 0x5e) {\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }" (if "if") (parenthesized_expression "(bVar12 == 0x5e)" (( "(") (binary_expression "bVar12 == 0x5e" (identifier "bVar12") (== "==") (number_literal "0x5e")) () ")")) (compound_statement "{\n          if (bVar1 == 0x3f) goto LAB_00015430;\n          bVar12 = bVar1 & 0x9f;\n          goto LAB_00014d64;\n        }" ({ "{") (if_statement "if (bVar1 == 0x3f) goto LAB_00015430;" (if "if") (parenthesized_expression "(bVar1 == 0x3f)" (( "(") (binary_expression "bVar1 == 0x3f" (identifier "bVar1") (== "==") (number_literal "0x3f")) () ")")) (goto_statement "goto LAB_00015430;" (goto "goto") (statement_identifier "LAB_00015430") (; ";"))) (expression_statement "bVar12 = bVar1 & 0x9f;" (assignment_expression "bVar12 = bVar1 & 0x9f" (identifier "bVar12") (= "=") (binary_expression "bVar1 & 0x9f" (identifier "bVar1") (& "&") (number_literal "0x9f"))) (; ";")) (goto_statement "goto LAB_00014d64;" (goto "goto") (statement_identifier "LAB_00014d64") (; ";")) (} "}"))) (} "}"))) (expression_statement "bVar12 = (*local_54)(pbVar17,0xff);" (assignment_expression "bVar12 = (*local_54)(pbVar17,0xff)" (identifier "bVar12") (= "=") (call_expression "(*local_54)(pbVar17,0xff)" (parenthesized_expression "(*local_54)" (( "(") (pointer_expression "*local_54" (* "*") (identifier "local_54")) () ")")) (argument_list "(pbVar17,0xff)" (( "(") (identifier "pbVar17") (, ",") (number_literal "0xff") () ")")))) (; ";")) (goto_statement "goto LAB_00014d64;" (goto "goto") (statement_identifier "LAB_00014d64") (; ";")) (} "}"))) (expression_statement "puVar14 = (undefined *)*puVar19;" (assignment_expression "puVar14 = (undefined *)*puVar19" (identifier "puVar14") (= "=") (cast_expression "(undefined *)*puVar19" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar19" (* "*") (identifier "puVar19")))) (; ";")) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 3" (identifier "puVar19") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar14 != (undefined *)0x0)" (( "(") (binary_expression "puVar14 != (undefined *)0x0" (identifier "puVar14") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_00014c1c:\n  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);" (statement_identifier "LAB_00014c1c") (: ":") (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,local_5c + -0x1fec)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "local_5c + -0x1fec" (identifier "local_5c") (+ "+") (number_literal "-0x1fec")) () ")")))) (; ";"))) (if_statement "if (iVar4 == 0) {\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }\n  else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n    iVar8 = unaff_s0 + 1;\n    if (param_1 != 0) goto LAB_00014ae0;\n    iVar4 = FUN_00012c40();\n    pcVar22 = (code *)PTR_cfsetispeed_00031268;\nLAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;\n  }" ({ "{") (if_statement "if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;" (if "if") (parenthesized_expression "((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0))" (( "(") (binary_expression "(param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" (( "(") (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1")) (== "==") (identifier "unaff_s0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(pcVar16 + 4) == 0)" (( "(") (binary_expression "*(int *)(pcVar16 + 4) == 0" (pointer_expression "*(int *)(pcVar16 + 4)" (* "*") (cast_expression "(int *)(pcVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000153d8;" (goto "goto") (statement_identifier "LAB_000153d8") (; ";"))) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" (identifier "iVar8") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "iVar4 = FUN_00012c40();" (assignment_expression "iVar4 = FUN_00012c40()" (identifier "iVar4") (= "=") (call_expression "FUN_00012c40()" (identifier "FUN_00012c40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar22 = (code *)PTR_cfsetispeed_00031268;" (assignment_expression "pcVar22 = (code *)PTR_cfsetispeed_00031268" (identifier "pcVar22") (= "=") (cast_expression "(code *)PTR_cfsetispeed_00031268" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cfsetispeed_00031268"))) (; ";")) (labeled_statement "LAB_00014c78:\n    unaff_s0 = unaff_s0 + 1;" (statement_identifier "LAB_00014c78") (: ":") (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";"))) (} "}")) (else_clause "else {\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" (else "else") (compound_statement "{\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);\n    if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);\n    if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);\n    if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }\n    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);\n    if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }\n    iVar4 = FUN_00012c40(pcVar23);\n    if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }\n    if (param_1 != 0) goto LAB_00014ae0;\n    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);\n    pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n  }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fe4)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fe4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fe4")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;\n      iVar8 = unaff_s0 + 1;\n      if (param_1 != 0) goto LAB_00014ae0;\n      iVar4 = FUN_00012c40();\n      pcVar22 = (code *)PTR_cfsetospeed_000312d0;\n      goto LAB_00014c78;\n    }" ({ "{") (if_statement "if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;" (if "if") (parenthesized_expression "((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0))" (( "(") (binary_expression "(param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)" (parenthesized_expression "(param_4 + -1 == unaff_s0)" (( "(") (binary_expression "param_4 + -1 == unaff_s0" (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1")) (== "==") (identifier "unaff_s0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(pcVar16 + 4) == 0)" (( "(") (binary_expression "*(int *)(pcVar16 + 4) == 0" (pointer_expression "*(int *)(pcVar16 + 4)" (* "*") (cast_expression "(int *)(pcVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000153d8;" (goto "goto") (statement_identifier "LAB_000153d8") (; ";"))) (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" (identifier "iVar8") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "iVar4 = FUN_00012c40();" (assignment_expression "iVar4 = FUN_00012c40()" (identifier "iVar4") (= "=") (call_expression "FUN_00012c40()" (identifier "FUN_00012c40") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar22 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar22 = (code *)PTR_cfsetospeed_000312d0" (identifier "pcVar22") (= "=") (cast_expression "(code *)PTR_cfsetospeed_000312d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cfsetospeed_000312d0"))) (; ";")) (goto_statement "goto LAB_00014c78;" (goto "goto") (statement_identifier "LAB_00014c78") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fdc)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fdc" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fdc")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }\nLAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;\n      goto LAB_000153e8;\n    }" ({ "{") (if_statement "if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }" (if "if") (parenthesized_expression "((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0))" (( "(") (binary_expression "(param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)" (parenthesized_expression "(param_4 + -1 != unaff_s0)" (( "(") (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1")) (!= "!=") (identifier "unaff_s0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(pcVar16 + 4) != 0)" (( "(") (binary_expression "*(int *)(pcVar16 + 4) != 0" (pointer_expression "*(int *)(pcVar16 + 4)" (* "*") (cast_expression "(int *)(pcVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(uVar9,0xffffffff,param_2);\n        goto LAB_00014ae0;\n      }" ({ "{") (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" (identifier "iVar8") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (identifier "uVar9") (= "=") (call_expression "(*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (parenthesized_expression "(*local_54)" (( "(") (pointer_expression "*local_54" (* "*") (identifier "local_54")) () ")")) (argument_list "(*(int *)(pcVar16 + 4),0x7fffffff)" (( "(") (pointer_expression "*(int *)(pcVar16 + 4)" (* "*") (cast_expression "(int *)(pcVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0x7fffffff") () ")")))) (; ";")) (expression_statement "(*local_48)(uVar9,0xffffffff,param_2);" (call_expression "(*local_48)(uVar9,0xffffffff,param_2)" (parenthesized_expression "(*local_48)" (( "(") (pointer_expression "*local_48" (* "*") (identifier "local_48")) () ")")) (argument_list "(uVar9,0xffffffff,param_2)" (( "(") (identifier "uVar9") (, ",") (number_literal "0xffffffff") (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (labeled_statement "LAB_000153d8:\n      puVar14 = PTR_DAT_00031108 + -0x201c;" (statement_identifier "LAB_000153d8") (: ":") (expression_statement "puVar14 = PTR_DAT_00031108 + -0x201c;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x201c" (identifier "puVar14") (= "=") (binary_expression "PTR_DAT_00031108 + -0x201c" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x201c"))) (; ";"))) (goto_statement "goto LAB_000153e8;" (goto "goto") (statement_identifier "LAB_000153e8") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fd4)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fd4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fd4")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" (if "if") (parenthesized_expression "((iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0))" (( "(") (binary_expression "(iVar4 == 0) ||\n       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)" (( "(") (comma_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fcc)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fcc" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fcc")) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }\n      goto LAB_000153d8;\n    }" ({ "{") (if_statement "if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }" (if "if") (parenthesized_expression "((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0))" (( "(") (binary_expression "(param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)" (parenthesized_expression "(param_4 + -1 != unaff_s0)" (( "(") (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1")) (!= "!=") (identifier "unaff_s0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(pcVar16 + 4) != 0)" (( "(") (binary_expression "*(int *)(pcVar16 + 4) != 0" (pointer_expression "*(int *)(pcVar16 + 4)" (* "*") (cast_expression "(int *)(pcVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar8 = unaff_s0 + 1;\n        if (param_1 != 0) goto LAB_00014ae0;\n        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);\n        (*local_48)(0xffffffff,uVar9,param_2);\n        goto LAB_00014ae0;\n      }" ({ "{") (expression_statement "iVar8 = unaff_s0 + 1;" (assignment_expression "iVar8 = unaff_s0 + 1" (identifier "iVar8") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);" (assignment_expression "uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (identifier "uVar9") (= "=") (call_expression "(*local_54)(*(int *)(pcVar16 + 4),0x7fffffff)" (parenthesized_expression "(*local_54)" (( "(") (pointer_expression "*local_54" (* "*") (identifier "local_54")) () ")")) (argument_list "(*(int *)(pcVar16 + 4),0x7fffffff)" (( "(") (pointer_expression "*(int *)(pcVar16 + 4)" (* "*") (cast_expression "(int *)(pcVar16 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0x7fffffff") () ")")))) (; ";")) (expression_statement "(*local_48)(0xffffffff,uVar9,param_2);" (call_expression "(*local_48)(0xffffffff,uVar9,param_2)" (parenthesized_expression "(*local_48)" (( "(") (pointer_expression "*local_48" (* "*") (identifier "local_48")) () ")")) (argument_list "(0xffffffff,uVar9,param_2)" (( "(") (number_literal "0xffffffff") (, ",") (identifier "uVar9") (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (goto_statement "goto LAB_000153d8;" (goto "goto") (statement_identifier "LAB_000153d8") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fc4)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fc4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fc4")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;\n      FUN_0001352c(0,param_2);\n      goto joined_r0x00014b3c;\n    }" ({ "{") (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = FUN_00012cf4();" (assignment_expression "uVar9 = FUN_00012cf4()" (identifier "uVar9") (= "=") (call_expression "FUN_00012cf4()" (identifier "FUN_00012cf4") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x13cc" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x13cc")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13c8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x13c8)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x13c8" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x13c8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001352c(0,param_2);" (call_expression "FUN_0001352c(0,param_2)" (identifier "FUN_0001352c") (argument_list "(0,param_2)" (( "(") (number_literal "0") (, ",") (identifier "param_2") () ")"))) (; ";")) (goto_statement "goto joined_r0x00014b3c;" (goto "goto") (statement_identifier "joined_r0x00014b3c") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1fbc)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fbc" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fbc")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }\n      goto LAB_000153d8;\n    }" ({ "{") (if_statement "if (param_4 + -1 != unaff_s0) {\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }" (if "if") (parenthesized_expression "(param_4 + -1 != unaff_s0)" (( "(") (binary_expression "param_4 + -1 != unaff_s0" (binary_expression "param_4 + -1" (identifier "param_4") (+ "+") (number_literal "-1")) (!= "!=") (identifier "unaff_s0")) () ")")) (compound_statement "{\n        iVar8 = *(int *)(pcVar18 + param_3 + 4);\n        if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }\n      }" ({ "{") (expression_statement "iVar8 = *(int *)(pcVar18 + param_3 + 4);" (assignment_expression "iVar8 = *(int *)(pcVar18 + param_3 + 4)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcVar18 + param_3 + 4)" (* "*") (cast_expression "(int *)(pcVar18 + param_3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar18 + param_3 + 4)" (( "(") (binary_expression "pcVar18 + param_3 + 4" (binary_expression "pcVar18 + param_3" (identifier "pcVar18") (+ "+") (identifier "param_3")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if (iVar8 != 0) {\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          unaff_s0 = unaff_s0 + 1;\n          uVar10 = (*local_54)(iVar8,0xffffffff);\n          *(char *)(param_5 + 4) = (char)uVar10;\n          if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }\n          goto LAB_00015240;\n        }" ({ "{") (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar10 = (*local_54)(iVar8,0xffffffff);" (assignment_expression "uVar10 = (*local_54)(iVar8,0xffffffff)" (identifier "uVar10") (= "=") (call_expression "(*local_54)(iVar8,0xffffffff)" (parenthesized_expression "(*local_54)" (( "(") (pointer_expression "*local_54" (* "*") (identifier "local_54")) () ")")) (argument_list "(iVar8,0xffffffff)" (( "(") (identifier "iVar8") (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (expression_statement "*(char *)(param_5 + 4) = (char)uVar10;" (assignment_expression "*(char *)(param_5 + 4) = (char)uVar10" (pointer_expression "*(char *)(param_5 + 4)" (* "*") (cast_expression "(char *)(param_5 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 4)" (( "(") (binary_expression "param_5 + 4" (identifier "param_5") (+ "+") (number_literal "4")) () ")")))) (= "=") (cast_expression "(char)uVar10" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar10"))) (; ";")) (if_statement "if (uVar10 != (uVar10 & 0xff)) {\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }" (if "if") (parenthesized_expression "(uVar10 != (uVar10 & 0xff))" (( "(") (binary_expression "uVar10 != (uVar10 & 0xff)" (identifier "uVar10") (!= "!=") (parenthesized_expression "(uVar10 & 0xff)" (( "(") (binary_expression "uVar10 & 0xff" (identifier "uVar10") (& "&") (number_literal "0xff")) () ")"))) () ")")) (compound_statement "{\n            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);\n            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));\n            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);\n          }" ({ "{") (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000312c8" (* "*") (cast_expression "(code *)PTR_dcgettext_000312c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000312c8"))) () ")")) (argument_list "(0,PTR_DAT_00031108 + -0x1fb4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1fb4" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1fb4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));" (assignment_expression "uVar7 = quote(*(int *)(pcVar18 + param_3 + 4))" (identifier "uVar7") (= "=") (call_expression "quote(*(int *)(pcVar18 + param_3 + 4))" (identifier "quote") (argument_list "(*(int *)(pcVar18 + param_3 + 4))" (( "(") (pointer_expression "*(int *)(pcVar18 + param_3 + 4)" (* "*") (cast_expression "(int *)(pcVar18 + param_3 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar18 + param_3 + 4)" (( "(") (binary_expression "pcVar18 + param_3 + 4" (binary_expression "pcVar18 + param_3" (identifier "pcVar18") (+ "+") (identifier "param_3")) (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);" (call_expression "(*(code *)PTR_error_00031298)(0,0,uVar9,uVar7)" (parenthesized_expression "(*(code *)PTR_error_00031298)" (( "(") (pointer_expression "*(code *)PTR_error_00031298" (* "*") (cast_expression "(code *)PTR_error_00031298" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00031298"))) () ")")) (argument_list "(0,0,uVar9,uVar7)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "uVar9") (, ",") (identifier "uVar7") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00015240;" (goto "goto") (statement_identifier "LAB_00015240") (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_000153d8;" (goto "goto") (statement_identifier "LAB_000153d8") (; ";")) (} "}"))) (expression_statement "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);" (assignment_expression "iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98)" (parenthesized_expression "(*(code *)PTR_strcmp_000312fc)" (( "(") (pointer_expression "*(code *)PTR_strcmp_000312fc" (* "*") (cast_expression "(code *)PTR_strcmp_000312fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_000312fc"))) () ")")) (argument_list "(pcVar23,PTR_DAT_00031108 + -0x1f98)" (( "(") (identifier "pcVar23") (, ",") (binary_expression "PTR_DAT_00031108 + -0x1f98" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x1f98")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_1 != 0) goto LAB_00014ae0;\n      unaff_s0 = unaff_s0 + 1;\n      uVar9 = FUN_00012cf4();\n      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;\n      FUN_00012ff4(param_5,0);\n      goto joined_r0x00014b3c;\n    }" ({ "{") (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar9 = FUN_00012cf4();" (assignment_expression "uVar9 = FUN_00012cf4()" (identifier "uVar9") (= "=") (call_expression "FUN_00012cf4()" (identifier "FUN_00012cf4") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;" (assignment_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9" (pointer_expression "*(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_000310f8 + 0x13cc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000310f8 + 0x13cc)" (( "(") (binary_expression "PTR_DAT_000310f8 + 0x13cc" (identifier "PTR_DAT_000310f8") (+ "+") (number_literal "0x13cc")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "FUN_00012ff4(param_5,0);" (call_expression "FUN_00012ff4(param_5,0)" (identifier "FUN_00012ff4") (argument_list "(param_5,0)" (( "(") (identifier "param_5") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto joined_r0x00014b3c;" (goto "goto") (statement_identifier "joined_r0x00014b3c") (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_00012c40(pcVar23);" (assignment_expression "iVar4 = FUN_00012c40(pcVar23)" (identifier "iVar4") (= "=") (call_expression "FUN_00012c40(pcVar23)" (identifier "FUN_00012c40") (argument_list "(pcVar23)" (( "(") (identifier "pcVar23") () ")")))) (; ";")) (if_statement "if (iVar4 == -1) {\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }" (if "if") (parenthesized_expression "(iVar4 == -1)" (( "(") (binary_expression "iVar4 == -1" (identifier "iVar4") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      puVar6 = local_3c;\n      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();\n      pcVar18 = pcVar23;\n      goto LAB_0001550c;\n    }" ({ "{") (expression_statement "puVar6 = local_3c;" (assignment_expression "puVar6 = local_3c" (identifier "puVar6") (= "=") (identifier "local_3c")) (; ";")) (expression_statement "piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();" (assignment_expression "piVar15 = (int *)(*(code *)PTR___errno_location_00031250)()" (identifier "piVar15") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_00031250)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_00031250)()" (parenthesized_expression "(*(code *)PTR___errno_location_00031250)" (( "(") (pointer_expression "*(code *)PTR___errno_location_00031250" (* "*") (cast_expression "(code *)PTR___errno_location_00031250" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_00031250"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar18 = pcVar23;" (assignment_expression "pcVar18 = pcVar23" (identifier "pcVar18") (= "=") (identifier "pcVar23")) (; ";")) (goto_statement "goto LAB_0001550c;" (goto "goto") (statement_identifier "LAB_0001550c") (; ";")) (} "}"))) (if_statement "if (param_1 != 0) goto LAB_00014ae0;" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";"))) (expression_statement "(*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);" (call_expression "(*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4)" (parenthesized_expression "(*(code *)PTR_cfsetispeed_00031268)" (( "(") (pointer_expression "*(code *)PTR_cfsetispeed_00031268" (* "*") (cast_expression "(code *)PTR_cfsetispeed_00031268" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cfsetispeed_00031268"))) () ")")) (argument_list "(param_5,iVar4)" (( "(") (identifier "param_5") (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "pcVar22 = (code *)PTR_cfsetospeed_000312d0;" (assignment_expression "pcVar22 = (code *)PTR_cfsetospeed_000312d0" (identifier "pcVar22") (= "=") (cast_expression "(code *)PTR_cfsetospeed_000312d0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cfsetospeed_000312d0"))) (; ";")) (} "}")))) (expression_statement "unaff_s0 = unaff_s0 + 1;" (assignment_expression "unaff_s0 = unaff_s0 + 1" (identifier "unaff_s0") (= "=") (binary_expression "unaff_s0 + 1" (identifier "unaff_s0") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*pcVar22)(param_5,iVar4);" (call_expression "(*pcVar22)(param_5,iVar4)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(param_5,iVar4)" (( "(") (identifier "param_5") (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "*param_6 = 1;" (assignment_expression "*param_6 = 1" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (labeled_statement "joined_r0x00014b3c:\n  while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" (statement_identifier "joined_r0x00014b3c") (: ":") (while_statement "while (unaff_s4 = param_3, param_4 <= unaff_s0) {\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" (while "while") (parenthesized_expression "(unaff_s4 = param_3, param_4 <= unaff_s0)" (( "(") (comma_expression "unaff_s4 = param_3, param_4 <= unaff_s0" (assignment_expression "unaff_s4 = param_3" (identifier "unaff_s4") (= "=") (identifier "param_3")) (, ",") (binary_expression "param_4 <= unaff_s0" (identifier "param_4") (<= "<=") (identifier "unaff_s0"))) () ")")) (compound_statement "{\nLAB_00014b48:\n    param_3 = unaff_s4;\n    if (local_2c == *(uint *)puVar3) {\n      return;\n    }\n    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();\nLAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;\n    *param_7 = 1;\n    iVar8 = unaff_s0;\nLAB_00014ae0:\n    unaff_s0 = iVar8 + 1;\n  }" ({ "{") (labeled_statement "LAB_00014b48:\n    param_3 = unaff_s4;" (statement_identifier "LAB_00014b48") (: ":") (expression_statement "param_3 = unaff_s4;" (assignment_expression "param_3 = unaff_s4" (identifier "param_3") (= "=") (identifier "unaff_s4")) (; ";"))) (if_statement "if (local_2c == *(uint *)puVar3) {\n      return;\n    }" (if "if") (parenthesized_expression "(local_2c == *(uint *)puVar3)" (( "(") (binary_expression "local_2c == *(uint *)puVar3" (identifier "local_2c") (== "==") (pointer_expression "*(uint *)puVar3" (* "*") (cast_expression "(uint *)puVar3" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();" (assignment_expression "uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)()" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR___stack_chk_fail_000312c4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000312c4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000312c4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000312c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000312c4"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_00015634:\n    param_5[3] = uVar10 & 0xfffffffd;" (statement_identifier "LAB_00015634") (: ":") (expression_statement "param_5[3] = uVar10 & 0xfffffffd;" (assignment_expression "param_5[3] = uVar10 & 0xfffffffd" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar10 & 0xfffffffd" (identifier "uVar10") (& "&") (number_literal "0xfffffffd"))) (; ";"))) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" (identifier "iVar8") (= "=") (identifier "unaff_s0")) (; ";")) (labeled_statement "LAB_00014ae0:\n    unaff_s0 = iVar8 + 1;" (statement_identifier "LAB_00014ae0") (: ":") (expression_statement "unaff_s0 = iVar8 + 1;" (assignment_expression "unaff_s0 = iVar8 + 1" (identifier "unaff_s0") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (} "}")))) (goto_statement "goto LAB_00014af0;" (goto "goto") (statement_identifier "LAB_00014af0") (; ";")) (while_statement "while( true ) {\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    *puVar6 = uVar10;\n    puVar6 = puVar6 + 1;\n    pcVar18 = local_40 + 1;\n    if (puVar6 == &local_2c) break;\nLAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;\n  }" ({ "{") (expression_statement "*puVar6 = uVar10;" (assignment_expression "*puVar6 = uVar10" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar6 = puVar6 + 1;" (assignment_expression "puVar6 = puVar6 + 1" (identifier "puVar6") (= "=") (binary_expression "puVar6 + 1" (identifier "puVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar18 = local_40 + 1;" (assignment_expression "pcVar18 = local_40 + 1" (identifier "pcVar18") (= "=") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar6 == &local_2c) break;" (if "if") (parenthesized_expression "(puVar6 == &local_2c)" (( "(") (binary_expression "puVar6 == &local_2c" (identifier "puVar6") (== "==") (pointer_expression "&local_2c" (& "&") (identifier "local_2c"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0001550c:\n    puVar14 = PTR_strtoul_0003127c;" (statement_identifier "LAB_0001550c") (: ":") (expression_statement "puVar14 = PTR_strtoul_0003127c;" (assignment_expression "puVar14 = PTR_strtoul_0003127c" (identifier "puVar14") (= "=") (identifier "PTR_strtoul_0003127c")) (; ";"))) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);" (assignment_expression "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10)" (identifier "uVar10") (= "=") (call_expression "(*(code *)puVar14)(pcVar18,&local_40,0x10)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(pcVar18,&local_40,0x10)" (( "(") (identifier "pcVar18") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (number_literal "0x10") () ")")))) (; ";")) (if_statement "if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;" (if "if") (parenthesized_expression "(((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18))" (( "(") (binary_expression "((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)" (parenthesized_expression "((*piVar15 != 0) || (*local_40 != ':'))" (( "(") (binary_expression "(*piVar15 != 0) || (*local_40 != ':')" (parenthesized_expression "(*piVar15 != 0)" (( "(") (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*local_40 != ':')" (( "(") (binary_expression "*local_40 != ':'" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (!= "!=") (char_literal "':'" (' "'") (character ":") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_40 == pcVar18)" (( "(") (binary_expression "local_40 == pcVar18" (identifier "local_40") (== "==") (identifier "pcVar18")) () ")"))) () ")")) (goto_statement "goto LAB_00015614;" (goto "goto") (statement_identifier "LAB_00015614") (; ";"))) (} "}"))) (expression_statement "*param_5 = local_3c[0];" (assignment_expression "*param_5 = local_3c[0]" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (subscript_expression "local_3c[0]" (identifier "local_3c") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "param_5[1] = local_3c[1];" (assignment_expression "param_5[1] = local_3c[1]" (subscript_expression "param_5[1]" (identifier "param_5") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "local_3c[1]" (identifier "local_3c") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "param_5[2] = local_3c[2];" (assignment_expression "param_5[2] = local_3c[2]" (subscript_expression "param_5[2]" (identifier "param_5") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "local_3c[2]" (identifier "local_3c") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "param_5[3] = local_3c[3];" (assignment_expression "param_5[3] = local_3c[3]" (subscript_expression "param_5[3]" (identifier "param_5") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "local_3c[3]" (identifier "local_3c") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "puVar6 = param_5;" (assignment_expression "puVar6 = param_5" (identifier "puVar6") (= "=") (identifier "param_5")) (; ";")) (while_statement "while( true ) {\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    puVar14 = PTR_strtoul_0003127c;\n    *piVar15 = 0;\n    cVar13 = ':';\n    if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }\n    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);\n    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;\n    puVar20 = (uint *)((int)puVar6 + 1);\n    *(char *)((int)puVar6 + 0x11) = (char)uVar10;\n    pcVar18 = local_40 + 1;\n    puVar6 = puVar20;\n    if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }\n  }" ({ "{") (expression_statement "puVar14 = PTR_strtoul_0003127c;" (assignment_expression "puVar14 = PTR_strtoul_0003127c" (identifier "puVar14") (= "=") (identifier "PTR_strtoul_0003127c")) (; ";")) (expression_statement "*piVar15 = 0;" (assignment_expression "*piVar15 = 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar13 = ':';" (assignment_expression "cVar13 = ':'" (identifier "cVar13") (= "=") (char_literal "':'" (' "'") (character ":") (' "'"))) (; ";")) (if_statement "if ((int)puVar6 - (int)param_5 == 0x1f) {\n      cVar13 = '\0';\n    }" (if "if") (parenthesized_expression "((int)puVar6 - (int)param_5 == 0x1f)" (( "(") (binary_expression "(int)puVar6 - (int)param_5 == 0x1f" (binary_expression "(int)puVar6 - (int)param_5" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (- "-") (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5"))) (== "==") (number_literal "0x1f")) () ")")) (compound_statement "{\n      cVar13 = '\0';\n    }" ({ "{") (expression_statement "cVar13 = '\0';" (assignment_expression "cVar13 = '\0'" (identifier "cVar13") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (expression_statement "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);" (assignment_expression "uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10)" (identifier "uVar10") (= "=") (call_expression "(*(code *)puVar14)(pcVar18,&local_40,0x10)" (parenthesized_expression "(*(code *)puVar14)" (( "(") (pointer_expression "*(code *)puVar14" (* "*") (cast_expression "(code *)puVar14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar14"))) () ")")) (argument_list "(pcVar18,&local_40,0x10)" (( "(") (identifier "pcVar18") (, ",") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (number_literal "0x10") () ")")))) (; ";")) (if_statement "if (((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;" (if "if") (parenthesized_expression "(((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff)))))" (( "(") (binary_expression "((*piVar15 != 0) || (*local_40 != cVar13)) ||\n       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))" (parenthesized_expression "((*piVar15 != 0) || (*local_40 != cVar13))" (( "(") (binary_expression "(*piVar15 != 0) || (*local_40 != cVar13)" (parenthesized_expression "(*piVar15 != 0)" (( "(") (binary_expression "*piVar15 != 0" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*local_40 != cVar13)" (( "(") (binary_expression "*local_40 != cVar13" (pointer_expression "*local_40" (* "*") (identifier "local_40")) (!= "!=") (identifier "cVar13")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))" (( "(") (parenthesized_expression "(local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff)))" (( "(") (binary_expression "local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))" (binary_expression "local_40 == pcVar18" (identifier "local_40") (== "==") (identifier "pcVar18")) (|| "||") (parenthesized_expression "(uVar10 != (uVar10 & 0xff))" (( "(") (binary_expression "uVar10 != (uVar10 & 0xff)" (identifier "uVar10") (!= "!=") (parenthesized_expression "(uVar10 & 0xff)" (( "(") (binary_expression "uVar10 & 0xff" (identifier "uVar10") (& "&") (number_literal "0xff")) () ")"))) () ")"))) () ")")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar20 = (uint *)((int)puVar6 + 1);" (assignment_expression "puVar20 = (uint *)((int)puVar6 + 1)" (identifier "puVar20") (= "=") (cast_expression "(uint *)((int)puVar6 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + 1)" (( "(") (binary_expression "(int)puVar6 + 1" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(char *)((int)puVar6 + 0x11) = (char)uVar10;" (assignment_expression "*(char *)((int)puVar6 + 0x11) = (char)uVar10" (pointer_expression "*(char *)((int)puVar6 + 0x11)" (* "*") (cast_expression "(char *)((int)puVar6 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar6 + 0x11)" (( "(") (binary_expression "(int)puVar6 + 0x11" (cast_expression "(int)puVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar6")) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (cast_expression "(char)uVar10" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "pcVar18 = local_40 + 1;" (assignment_expression "pcVar18 = local_40 + 1" (identifier "pcVar18") (= "=") (binary_expression "local_40 + 1" (identifier "local_40") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar6 = puVar20;" (assignment_expression "puVar6 = puVar20" (identifier "puVar6") (= "=") (identifier "puVar20")) (; ";")) (if_statement "if (param_5 + 8 == puVar20) {\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" (if "if") (parenthesized_expression "(param_5 + 8 == puVar20)" (( "(") (binary_expression "param_5 + 8 == puVar20" (binary_expression "param_5 + 8" (identifier "param_5") (+ "+") (number_literal "8")) (== "==") (identifier "puVar20")) () ")")) (compound_statement "{\nLAB_00015240:\n      *param_7 = 1;\n      iVar8 = unaff_s0;\n      goto LAB_00014ae0;\n    }" ({ "{") (labeled_statement "LAB_00015240:\n      *param_7 = 1;" (statement_identifier "LAB_00015240") (: ":") (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";"))) (expression_statement "iVar8 = unaff_s0;" (assignment_expression "iVar8 = unaff_s0" (identifier "iVar8") (= "=") (identifier "unaff_s0")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00015614:\n  puVar14 = PTR_DAT_00031108 + -0x2030;" (statement_identifier "LAB_00015614") (: ":") (expression_statement "puVar14 = PTR_DAT_00031108 + -0x2030;" (assignment_expression "puVar14 = PTR_DAT_00031108 + -0x2030" (identifier "puVar14") (= "=") (binary_expression "PTR_DAT_00031108 + -0x2030" (identifier "PTR_DAT_00031108") (+ "+") (number_literal "-0x2030"))) (; ";"))) (labeled_statement "LAB_000153e8:\n  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);" (statement_identifier "LAB_000153e8") (: ":") (expression_statement "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);" (assignment_expression "iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_dcgettext_000312c8)(0,puVar14,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000312c8)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000312c8" (* "*") (cast_expression "(code *)PTR_dcgettext_000312c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000312c8"))) () ")")) (argument_list "(0,puVar14,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar14") (, ",") (number_literal "5") () ")")))) (; ";"))) (labeled_statement "LAB_000153f8:\n  uVar9 = quote(pcVar23);" (statement_identifier "LAB_000153f8") (: ":") (expression_statement "uVar9 = quote(pcVar23);" (assignment_expression "uVar9 = quote(pcVar23)" (identifier "uVar9") (= "=") (call_expression "quote(pcVar23)" (identifier "quote") (argument_list "(pcVar23)" (( "(") (identifier "pcVar23") () ")")))) (; ";"))) (expression_statement "(*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);" (call_expression "(*(code *)PTR_error_00031298)(0,0,iVar8,uVar9)" (parenthesized_expression "(*(code *)PTR_error_00031298)" (( "(") (pointer_expression "*(code *)PTR_error_00031298" (* "*") (cast_expression "(code *)PTR_error_00031298" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00031298"))) () ")")) (argument_list "(0,0,iVar8,uVar9)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (identifier "iVar8") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "usage(1);" (call_expression "usage(1)" (identifier "usage") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (labeled_statement "LAB_00015430:\n  bVar12 = 0x7f;" (statement_identifier "LAB_00015430") (: ":") (expression_statement "bVar12 = 0x7f;" (assignment_expression "bVar12 = 0x7f" (identifier "bVar12") (= "=") (number_literal "0x7f")) (; ";"))) (labeled_statement "LAB_00014d64:\n  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;" (statement_identifier "LAB_00014d64") (: ":") (expression_statement "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;" (assignment_expression "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12" (pointer_expression "*(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" (* "*") (cast_expression "(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_5 + *(int *)(pcVar18 + 8) + 0x11)" (( "(") (binary_expression "(int)param_5 + *(int *)(pcVar18 + 8) + 0x11" (binary_expression "(int)param_5 + *(int *)(pcVar18 + 8)" (cast_expression "(int)param_5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_5")) (+ "+") (pointer_expression "*(int *)(pcVar18 + 8)" (* "*") (cast_expression "(int *)(pcVar18 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar18 + 8)" (( "(") (binary_expression "pcVar18 + 8" (identifier "pcVar18") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (number_literal "0x11")) () ")")))) (= "=") (identifier "bVar12")) (; ";"))) (expression_statement "*param_7 = 1;" (assignment_expression "*param_7 = 1" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00014ae0;" (goto "goto") (statement_identifier "LAB_00014ae0") (; ";")) (} "}")))

void function_1(type_1 checking,char *device_name,char **var_5,int var_2,type_2 *mode,
                   type_1 *speed_was_set,type_1 *require_set_attr)

{
  type_3 var_22;
  bool bVar2;
  type_4 *var_23;
  int var_8;
  int var_11;
  type_5 var_32;
  type_3 var_20;
  type_6 *var_16;
  int var_34;
  type_7 uVar9;
  type_6 tVar10;
  char var_36;
  type_8 var_17;
  int *var_19;
  type_8 var_18;
  type_9 in_register_00000010;
  int var_26;
  char *var_13;
  type_4 *puVar18;
  int *var_14;
  int var_6;
  char **ppcVar20;
  type_3 *var_21;
  char **unaff_s4;
  type_7 *var_12;
  type_4 *var_24;
  type_2 *var_37;
  type_2 *ptVar25;
  type_10 *pcVar26;
  char *var_7;
  type_4 *var_10;
  char *local_68;
  type_4 *var_25;
  type_10 *local_54;
  type_10 *local_48;
  char *var_35;
  type_6 flag [4];
  type_6 var_33;
  
  puVar18 = PTR___stack_chk_guard_000312dc;
  var_26 = var_1(in_register_00000010,checking);
  var_33 = *(type_6 *)PTR___stack_chk_guard_000312dc;
  if (var_2 < 2) goto LAB_00014b48;
  var_6 = 1;
  var_10 = var_9;
  local_68 = var_3 + -0x20b4;
  var_25 = var_3;
  local_54 = (type_10 *)(var_4 + 0x3234);
  local_48 = (type_10 *)(var_4 + 0x33ac);
LAB_00014af0:
  ppcVar20 = var_5 + var_6;
  var_7 = *ppcVar20;
  var_34 = var_6;
  if (var_7 == (char *)0x0) goto LAB_00014ae0;
  if (*var_7 == '-') {
    var_7 = var_7 + 1;
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x20a4);
    if (var_8 != 0) {
      bVar2 = true;
      goto LAB_00014bb8;
    }
    *(type_7 *)(var_9 + 0x1048) = 0x540e;
  }
  else {
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x20a4);
    if (var_8 != 0) {
      bVar2 = false;
LAB_00014bb8:
      var_8 = 0;
      var_12 = (type_7 *)(var_10 + 0x8f4);
      var_13 = local_68;
      while (var_11 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_13), var_11 != 0) {
        var_13 = (char *)*var_12;
        var_8 = var_8 + 1;
        var_12 = var_12 + 5;
        if (var_13 == (char *)0x0) goto LAB_00014ca0;
      }
      var_14 = (int *)(var_9 + 0x8e0);
      if ((*(type_3 *)(var_14 + var_8 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;
      if (bVar2) {
        if ((*(type_3 *)(var_14 + var_8 * 5 + 2) & 4) == 0) {
          *require_set_attr = true;
          goto LAB_00015140;
        }
        var_16 = var_15(var_14[var_8 * 5 + 1],mode);
        if (var_16 != (type_6 *)0x0) {
          *var_16 = *var_16 & ~(var_14[var_8 * 5 + 4] | var_14[var_8 * 5 + 3]);
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1f90);
        if (((var_8 == 0) ||
            (var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1f88), var_8 == 0)
            ) || (var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1f80),
                 var_8 == 0)) {
          mode->c_cflag = mode->c_cflag & 0xfffffecf | 0x30;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
      }
      else {
        var_16 = var_15(var_14[var_8 * 5 + 1],mode);
        if (var_16 != (type_6 *)0x0) {
          *var_16 = ~var_14[var_8 * 5 + 4] & *var_16 | var_14[var_8 * 5 + 3];
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1f90);
        if ((var_8 == 0) ||
           (var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1f88), var_8 == 0))
        {
          mode->c_cflag = mode->c_cflag & 0xfffffccf | 0x120;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1f80);
        if (var_8 == 0) {
          mode->c_cflag = mode->c_cflag & 0xfffffccf | 800;
          goto LAB_00015240;
        }
      }
      var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x1ac0);
      if (var_8 == 0) {
        if (!bVar2) {
          mode->c_iflag = mode->c_iflag & 0xfffffeff;
          mode->c_oflag = mode->c_oflag & 0xfffffffb;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        mode->c_iflag = mode->c_iflag & 0xfffffe3f | 0x100;
        mode->c_oflag = mode->c_oflag & 0xffffffd3 | 4;
        goto LAB_00015240;
      }
      var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x209c);
      if (var_8 == 0) {
        mode->c_cc[2] = '\x7f';
        mode->c_cc[3] = '\x15';
        *require_set_attr = true;
        goto LAB_00014ae0;
      }
      var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2098);
      if (var_8 != 0) {
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x207c);
        if (var_8 == 0) {
          var_17 = mode->c_lflag;
          if (!bVar2) goto LAB_00015634;
          mode->c_lflag = var_17 | 2;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2074);
        if (var_8 == 0) {
          var_17 = mode->c_cflag & 0xfffffecf;
          if (!bVar2) {
            mode->c_iflag = mode->c_iflag & 0xffffffdf;
            mode->c_cflag = var_17 | 0x30;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_iflag = mode->c_iflag | 0x20;
          mode->c_cflag = var_17 | 0x120;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x206c);
        if (var_8 == 0) {
          var_17 = mode->c_cflag & 0xfffffecf;
          if (!bVar2) {
            mode->c_cflag = var_17 | 0x30;
            mode->c_iflag = mode->c_iflag & 0xffffffdf;
            mode->c_oflag = mode->c_oflag & 0xfffffffe;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_oflag = mode->c_oflag | 1;
          mode->c_cflag = var_17 | 0x120;
          mode->c_iflag = mode->c_iflag | 0x20;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2064);
        if ((var_8 == 0) ||
           (var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2060), var_8 == 0))
        {
          if (*var_13 == 'r') {
            if (bVar2) goto LAB_000159a8;
          }
          else if ((*var_13 == 'c') && (!bVar2)) {
LAB_000159a8:
            mode->c_oflag = mode->c_oflag | 1;
            mode->c_lflag = mode->c_lflag | 3;
            mode->c_iflag = mode->c_iflag | 0x526;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          var_18 = mode->c_oflag;
          var_17 = mode->c_lflag;
          mode->c_iflag = 0;
          mode->c_cc[5] = '\0';
          mode->c_oflag = var_18 & 0xfffffffe;
          mode->c_cc[4] = '\x01';
          mode->c_lflag = var_17 & 0xfffffff8;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2058);
        if (var_8 == 0) {
          if (!bVar2) {
            mode->c_iflag = mode->c_iflag & 0xfffff7ff;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_iflag = mode->c_iflag | 0x800;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2050);
        if (var_8 == 0) {
          if (!bVar2) {
            mode->c_oflag = mode->c_oflag & 0xffffe7ff;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_oflag = mode->c_oflag | 0x1800;
          *require_set_attr = true;
          goto LAB_00014ae0;
        }
        var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2048);
        if ((var_8 == 0) ||
           (var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2040), var_8 == 0))
        {
          if (bVar2) {
            mode->c_lflag = mode->c_lflag & 0xfffffffb;
            mode->c_iflag = mode->c_iflag & 0xfffffdff;
            mode->c_oflag = mode->c_oflag & 0xfffffffd;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          mode->c_lflag = mode->c_lflag | 4;
          mode->c_iflag = mode->c_iflag | 0x200;
          mode->c_oflag = mode->c_oflag | 2;
        }
        else {
          var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2038);
          if (var_8 == 0) {
            mode->c_lflag = mode->c_lflag | 0xa10;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
          var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_13,var_3 + -0x2034);
          if (var_8 == 0) {
            var_18 = mode->c_lflag;
            var_17 = mode->c_iflag;
            mode->c_cc[0] = '\x03';
            mode->c_cc[2] = '\x7f';
            mode->c_lflag = var_18 | 0xa10;
            mode->c_cc[3] = '\x15';
            mode->c_iflag = var_17 & 0xfffff7ff;
            *require_set_attr = true;
            goto LAB_00014ae0;
          }
        }
        goto LAB_00015240;
      }
      var_19 = (int *)(var_9 + 0x7fc);
      while (*var_19 != 0) {
        mode->c_cc[var_19[2]] = *(type_11 *)(var_19 + 1);
        var_19 = var_19 + 3;
      }
      do {
        while( true ) {
          if (*var_14 == 0) goto LAB_00015240;
          var_20 = *(type_3 *)(var_14 + 2);
          if ((var_20 & 0x10) == 0) break;
LAB_00015734:
          var_14 = var_14 + 5;
        }
        if ((var_20 & 1) != 0) {
          var_16 = var_15(var_14[1],mode);
          if (var_16 == (type_6 *)0x0) {
            uVar9 = 0x8cb;
            goto LAB_00015808;
          }
          *var_16 = ~var_14[4] & *var_16 | var_14[3];
          goto LAB_00015734;
        }
        if ((var_20 & 2) == 0) goto LAB_00015734;
        var_16 = var_15(var_14[1],mode);
        if (var_16 == (type_6 *)0x0) {
          uVar9 = 0x8d1;
LAB_00015808:
          (*(type_10 *)PTR___assert_fail_000311f4)
                    (var_3 + -0x2084,var_3 + -0x2090,uVar9,
                     var_3 + -0x1a4c);
          return;
        }
        *var_16 = *var_16 & ~(var_14[4] | var_14[3]);
        var_14 = var_14 + 5;
      } while( true );
    }
    *(type_7 *)(var_9 + 0x1048) = 0x540f;
  }
  var_6 = var_6 + 1;
  goto joined_r0x00014b3c;
LAB_00014ca0:
  var_8 = 0;
  if (bVar2) {
LAB_00015140:
    uVar9 = (*(type_10 *)PTR_dcgettext_000312c8)(0,var_3 + -0x2030,5);
    var_7 = var_7 + -1;
    goto LAB_000153f8;
  }
  var_24 = var_3 + -0x20ac;
  var_12 = (type_7 *)(var_9 + 0x808);
  do {
    var_11 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_24);
    var_23 = var_9;
    if (var_11 == 0) {
      if ((var_2 + -1 != var_6) && (var_21 = (type_3 *)ppcVar20[1], var_21 != (type_3 *)0x0))
      {
        var_34 = var_6 + 1;
        var_11 = (*(type_10 *)PTR_strcmp_000312fc)(var_24,var_3 + -0x2004);
        if ((var_11 != 0) &&
           (var_11 = (*(type_10 *)PTR_strcmp_000312fc)(var_24,var_3 + -0x2000), var_11 != 0))
        {
          var_20 = *var_21;
          if ((var_20 == 0) || (var_22 = var_21[1], var_22 == 0)) goto LAB_00014d64;
          var_11 = (*(type_10 *)PTR_strcmp_000312fc)(var_21,var_3 + -0x1ff8);
          if ((var_11 == 0) ||
             (var_11 = (*(type_10 *)PTR_strcmp_000312fc)(var_21,var_3 + -0x1ff4), var_11 == 0
             )) {
            var_20 = 0;
            goto LAB_00014d64;
          }
          if (var_20 == 0x5e) {
            if (var_22 == 0x3f) {
              var_20 = 0x7f;
            }
            else {
              var_20 = var_22 & 0x9f;
            }
            goto LAB_00014d64;
          }
        }
        var_20 = (*local_54)(var_21,0xff);
LAB_00014d64:
        mode->c_cc[*(int *)(var_23 + var_8 * 0xc + 0x804)] = var_20;
        *require_set_attr = true;
        goto LAB_00014ae0;
      }
      goto LAB_000153d8;
    }
    var_24 = (type_4 *)*var_12;
    var_8 = var_8 + 1;
    var_12 = var_12 + 3;
  } while (var_24 != (type_4 *)0x0);
LAB_00014c1c:
  var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_25 + -0x1fec);
  if (var_8 == 0) {
    if ((var_2 + -1 == var_6) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;
    var_34 = var_6 + 1;
    if (var_26 != 0) goto LAB_00014ae0;
    var_32 = var_27(ppcVar20[1]);
    pcVar26 = (type_10 *)PTR_cfsetispeed_00031268;
LAB_00014c78:
    var_6 = var_6 + 1;
  }
  else {
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1fe4);
    if (var_8 == 0) {
      if ((var_2 + -1 == var_6) || (ppcVar20[1] == (char *)0x0)) goto LAB_000153d8;
      var_34 = var_6 + 1;
      if (var_26 != 0) goto LAB_00014ae0;
      var_32 = var_27(ppcVar20[1]);
      pcVar26 = (type_10 *)PTR_cfsetospeed_000312d0;
      goto LAB_00014c78;
    }
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1fdc);
    if (var_8 == 0) {
      if ((var_2 + -1 != var_6) && (ppcVar20[1] != (char *)0x0)) {
        var_34 = var_6 + 1;
        if (var_26 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);
        (*local_48)(uVar9,0xffffffff,device_name);
        goto LAB_00014ae0;
      }
LAB_000153d8:
      puVar18 = var_3 + -0x201c;
      goto LAB_000153e8;
    }
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1fd4);
    if ((var_8 == 0) ||
       (var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1fcc), var_8 == 0)) {
      if ((var_2 + -1 != var_6) && (ppcVar20[1] != (char *)0x0)) {
        var_34 = var_6 + 1;
        if (var_26 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(ppcVar20[1],0x7fffffff);
        (*local_48)(0xffffffff,uVar9,device_name);
        goto LAB_00014ae0;
      }
      goto LAB_000153d8;
    }
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1fc4);
    if (var_8 == 0) {
      if (var_26 != 0) goto LAB_00014ae0;
      var_6 = var_6 + 1;
      var_34 = var_28();
      *(int *)(var_9 + 0x13cc) = var_34;
      *(type_7 *)(var_9 + 0x13c8) = 0;
      var_29(false,device_name);
      goto joined_r0x00014b3c;
    }
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1fbc);
    if (var_8 == 0) {
      if (var_2 + -1 != var_6) {
        var_34 = var_6 + 1;
        var_13 = var_5[var_34];
        if (var_13 != (char *)0x0) {
          var_6 = var_6 + 1;
          var_17 = (*local_54)(var_13,0xffffffff);
          mode->c_line = (type_11)var_17;
          if (var_17 != (var_17 & 0xff)) {
            uVar9 = (*(type_10 *)PTR_dcgettext_000312c8)(0,var_3 + -0x1fb4,5);
            var_7 = var_30(var_5[var_34]);
            (*(type_10 *)PTR_error_00031298)(0,0,uVar9,var_7);
          }
          goto LAB_00015240;
        }
      }
      goto LAB_000153d8;
    }
    var_8 = (*(type_10 *)PTR_strcmp_000312fc)(var_7,var_3 + -0x1f98);
    if (var_8 == 0) {
      if (var_26 != 0) goto LAB_00014ae0;
      var_6 = var_6 + 1;
      var_34 = var_28();
      *(int *)(var_9 + 0x13cc) = var_34;
      var_31(mode,false);
      goto joined_r0x00014b3c;
    }
    var_32 = var_27(var_7);
    if (var_32 == 0xffffffff) {
      var_16 = flag;
      var_14 = (int *)(*(type_10 *)PTR___errno_location_00031250)();
      var_13 = var_7;
      goto LAB_0001550c;
    }
    if (var_26 != 0) goto LAB_00014ae0;
    (*(type_10 *)PTR_cfsetispeed_00031268)(mode,var_32);
    pcVar26 = (type_10 *)PTR_cfsetospeed_000312d0;
  }
  var_6 = var_6 + 1;
  (*pcVar26)(mode,var_32);
  *speed_was_set = true;
  *require_set_attr = true;
joined_r0x00014b3c:
  while (unaff_s4 = var_5, var_2 <= var_6) {
LAB_00014b48:
    var_5 = unaff_s4;
    if (var_33 == *(type_6 *)puVar18) {
      return;
    }
    var_17 = (*(type_10 *)PTR___stack_chk_fail_000312c4)();
LAB_00015634:
    mode->c_lflag = var_17 & 0xfffffffd;
    *require_set_attr = true;
    var_34 = var_6;
LAB_00014ae0:
    var_6 = var_34 + 1;
  }
  goto LAB_00014af0;
  while( true ) {
    *var_16 = tVar10;
    var_16 = var_16 + 1;
    var_13 = var_35 + 1;
    if (var_16 == &var_33) break;
LAB_0001550c:
    var_24 = PTR_strtoul_0003127c;
    *var_14 = 0;
    tVar10 = (*(type_10 *)var_24)(var_13,&var_35,0x10);
    if (((*var_14 != 0) || (*var_35 != ':')) || (var_35 == var_13)) goto LAB_00015614;
  }
  mode->c_iflag = flag[0];
  mode->c_oflag = flag[1];
  mode->c_cflag = flag[2];
  mode->c_lflag = flag[3];
  ptVar25 = mode;
  while( true ) {
    var_24 = PTR_strtoul_0003127c;
    *var_14 = 0;
    var_36 = ':';
    if ((int)ptVar25 - (int)mode == 0x1f) {
      var_36 = '\0';
    }
    var_17 = (*(type_10 *)var_24)(var_13,&var_35,0x10);
    if (((*var_14 != 0) || (*var_35 != var_36)) || ((var_35 == var_13 || (var_17 != (var_17 & 0xff)))))
    break;
    var_37 = (type_2 *)((int)&ptVar25->c_iflag + 1);
    ptVar25->c_cc[0] = (type_11)var_17;
    var_13 = var_35 + 1;
    ptVar25 = var_37;
    if ((type_2 *)(mode->c_cc + 0xf) == var_37) {
LAB_00015240:
      *require_set_attr = true;
      var_34 = var_6;
      goto LAB_00014ae0;
    }
  }
LAB_00015614:
  puVar18 = var_3 + -0x2030;
LAB_000153e8:
  uVar9 = (*(type_10 *)PTR_dcgettext_000312c8)(0,puVar18,5);
LAB_000153f8:
  var_7 = var_30(var_7);
  (*(type_10 *)PTR_error_00031298)(0,0,uVar9,var_7);
                    /* WARNING: Subroutine does not return */
  var_38(1);
}


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

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

{
  byte bVar1;
  bool bVar2;
  undefined *puVar3;
  int iVar4;
  int iVar5;
  byte bVar12;
  uint *puVar6;
  undefined4 uVar7;
  int iVar8;
  undefined4 uVar9;
  char cVar13;
  uint uVar10;
  int *piVar11;
  undefined *puVar14;
  int *piVar15;
  int unaff_s0;
  char *pcVar16;
  byte *pbVar17;
  char *pcVar18;
  int unaff_s4;
  undefined4 *puVar19;
  uint *puVar20;
  char *pcVar21;
  code *pcVar22;
  char *pcVar23;
  undefined *local_6c;
  char *local_68;
  undefined *local_5c;
  code *local_54;
  code *local_48;
  char *local_40;
  uint local_3c [4];
  uint local_2c;
  
  puVar3 = PTR___stack_chk_guard_000312dc;
  local_2c = *(uint *)PTR___stack_chk_guard_000312dc;
  if (param_4 < 2) goto LAB_00014b48;
  unaff_s0 = 1;
  local_6c = PTR_DAT_000310f8;
  local_68 = PTR_DAT_00031108 + -0x20b4;
  local_5c = PTR_DAT_00031108;
  local_54 = (code *)(PTR_00031104 + 0x3234);
  local_48 = (code *)(PTR_00031104 + 0x33ac);
LAB_00014af0:
  pcVar18 = (char *)(unaff_s0 * 4);
  pcVar16 = pcVar18 + param_3;
  pcVar23 = *(char **)pcVar16;
  iVar8 = unaff_s0;
  if (pcVar23 == (char *)0x0) goto LAB_00014ae0;
  if (*pcVar23 == '-') {
    pcVar23 = pcVar23 + 1;
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);
    if (iVar4 != 0) {
      bVar2 = true;
      goto LAB_00014bb8;
    }
    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540e;
  }
  else {
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x20a4);
    if (iVar4 != 0) {
      bVar2 = false;
LAB_00014bb8:
      iVar4 = 0;
      puVar19 = (undefined4 *)(local_6c + 0x8f4);
      pcVar21 = local_68;
      while (iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,pcVar21), iVar5 != 0) {
        pcVar21 = (char *)*puVar19;
        iVar4 = iVar4 + 1;
        puVar19 = puVar19 + 5;
        if (pcVar21 == (char *)0x0) goto LAB_00014ca0;
      }
      piVar15 = (int *)(PTR_DAT_000310f8 + 0x8e0);
      if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 0x10) != 0) goto LAB_00014c1c;
      pcVar18 = (char *)0x14;
      if (bVar2) {
        if ((*(byte *)(piVar15 + iVar4 * 5 + 2) & 4) == 0) {
          *param_7 = 1;
          goto LAB_00015140;
        }
        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);
        if (puVar6 != (uint *)0x0) {
          *puVar6 = *puVar6 & ~(piVar15[iVar4 * 5 + 4] | piVar15[iVar4 * 5 + 3]);
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);
        if (((iVar4 == 0) ||
            (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0)
            ) || (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80),
                 iVar4 == 0)) {
          param_5[2] = param_5[2] & 0xfffffecf | 0x30;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
      }
      else {
        puVar6 = (uint *)FUN_00012dc8(piVar15[iVar4 * 5 + 1],param_5);
        if (puVar6 != (uint *)0x0) {
          *puVar6 = ~piVar15[iVar4 * 5 + 4] & *puVar6 | piVar15[iVar4 * 5 + 3];
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f90);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f88), iVar4 == 0))
        {
          param_5[2] = param_5[2] & 0xfffffccf | 0x120;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1f80);
        if (iVar4 == 0) {
          param_5[2] = param_5[2] & 0xfffffccf | 800;
          goto LAB_00015240;
        }
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x1ac0);
      if (iVar4 == 0) {
        if (!bVar2) {
          *param_5 = *param_5 & 0xfffffeff;
          param_5[1] = param_5[1] & 0xfffffffb;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        *param_5 = *param_5 & 0xfffffe3f | 0x100;
        param_5[1] = param_5[1] & 0xffffffd3 | 4;
        goto LAB_00015240;
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x209c);
      if (iVar4 == 0) {
        *(undefined1 *)((int)param_5 + 0x13) = 0x7f;
        *(undefined1 *)(param_5 + 5) = 0x15;
        *param_7 = 1;
        goto LAB_00014ae0;
      }
      iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2098);
      if (iVar4 != 0) {
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x207c);
        if (iVar4 == 0) {
          uVar10 = param_5[3];
          if (!bVar2) goto LAB_00015634;
          param_5[3] = uVar10 | 2;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2074);
        if (iVar4 == 0) {
          if (!bVar2) {
            *param_5 = *param_5 & 0xffffffdf;
            param_5[2] = param_5[2] & 0xfffffecf | 0x30;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          *param_5 = *param_5 | 0x20;
          param_5[2] = param_5[2] & 0xfffffecf | 0x120;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x206c);
        if (iVar4 == 0) {
          if (!bVar2) {
            param_5[2] = param_5[2] & 0xfffffecf | 0x30;
            *param_5 = *param_5 & 0xffffffdf;
            param_5[1] = param_5[1] & 0xfffffffe;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          param_5[1] = param_5[1] | 1;
          param_5[2] = param_5[2] & 0xfffffecf | 0x120;
          *param_5 = *param_5 | 0x20;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2064);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2060), iVar4 == 0))
        {
          if (*pcVar21 == 'r') {
            if (bVar2) goto LAB_000159a8;
          }
          else if ((*pcVar21 == 'c') && (!bVar2)) {
LAB_000159a8:
            param_5[1] = param_5[1] | 1;
            param_5[3] = param_5[3] | 3;
            *param_5 = *param_5 | 0x526;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          *param_5 = 0;
          *(undefined1 *)((int)param_5 + 0x16) = 0;
          param_5[1] = param_5[1] & 0xfffffffe;
          *(undefined1 *)((int)param_5 + 0x15) = 1;
          param_5[3] = param_5[3] & 0xfffffff8;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2058);
        if (iVar4 == 0) {
          if (!bVar2) {
            *param_5 = *param_5 & 0xfffff7ff;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          *param_5 = *param_5 | 0x800;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2050);
        if (iVar4 == 0) {
          if (!bVar2) {
            param_5[1] = param_5[1] & 0xffffe7ff;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          param_5[1] = param_5[1] | 0x1800;
          *param_7 = 1;
          goto LAB_00014ae0;
        }
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2048);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2040), iVar4 == 0))
        {
          if (bVar2) {
            param_5[3] = param_5[3] & 0xfffffffb;
            *param_5 = *param_5 & 0xfffffdff;
            param_5[1] = param_5[1] & 0xfffffffd;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          param_5[3] = param_5[3] | 4;
          *param_5 = *param_5 | 0x200;
          param_5[1] = param_5[1] | 2;
        }
        else {
          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2038);
          if (iVar4 == 0) {
            param_5[3] = param_5[3] | 0xa10;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
          iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar21,PTR_DAT_00031108 + -0x2034);
          if (iVar4 == 0) {
            *(undefined1 *)((int)param_5 + 0x11) = 3;
            *(undefined1 *)((int)param_5 + 0x13) = 0x7f;
            param_5[3] = param_5[3] | 0xa10;
            *(undefined1 *)(param_5 + 5) = 0x15;
            *param_5 = *param_5 & 0xfffff7ff;
            *param_7 = 1;
            goto LAB_00014ae0;
          }
        }
        goto LAB_00015240;
      }
      piVar11 = (int *)(PTR_DAT_000310f8 + 0x7fc);
      while (*piVar11 != 0) {
        *(undefined1 *)((int)param_5 + piVar11[2] + 0x11) = *(undefined1 *)(piVar11 + 1);
        piVar11 = piVar11 + 3;
      }
      do {
        while( true ) {
          if (*piVar15 == 0) goto LAB_00015240;
          bVar12 = *(byte *)(piVar15 + 2);
          if ((bVar12 & 0x10) == 0) break;
LAB_00015734:
          piVar15 = piVar15 + 5;
        }
        if ((bVar12 & 1) != 0) {
          puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);
          if (puVar6 == (uint *)0x0) {
            uVar9 = 0x8cb;
            goto LAB_00015808;
          }
          *puVar6 = ~piVar15[4] & *puVar6 | piVar15[3];
          goto LAB_00015734;
        }
        if ((bVar12 & 2) == 0) goto LAB_00015734;
        puVar6 = (uint *)FUN_00012dc8(piVar15[1],param_5);
        if (puVar6 == (uint *)0x0) {
          uVar9 = 0x8d1;
LAB_00015808:
          (*(code *)PTR___assert_fail_000311f4)
                    (PTR_DAT_00031108 + -0x2084,PTR_DAT_00031108 + -0x2090,uVar9,
                     PTR_DAT_00031108 + -0x1a4c);
          return;
        }
        *puVar6 = *puVar6 & ~(piVar15[4] | piVar15[3]);
        piVar15 = piVar15 + 5;
      } while( true );
    }
    *(undefined4 *)(PTR_DAT_000310f8 + 0x1048) = 0x540f;
  }
  unaff_s0 = unaff_s0 + 1;
  goto joined_r0x00014b3c;
LAB_00014ca0:
  iVar4 = 0;
  if (bVar2) {
LAB_00015140:
    iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x2030,5);
    pcVar23 = pcVar23 + -1;
    goto LAB_000153f8;
  }
  puVar14 = PTR_DAT_00031108 + -0x20ac;
  puVar19 = (undefined4 *)(PTR_DAT_000310f8 + 0x808);
  do {
    iVar5 = (*(code *)PTR_strcmp_000312fc)(pcVar23,puVar14);
    if (iVar5 == 0) {
      if ((param_4 + -1 == unaff_s0) || (pbVar17 = *(byte **)(pcVar16 + 4), pbVar17 == (byte *)0x0))
      goto LAB_000153d8;
      iVar8 = unaff_s0 + 1;
      pcVar18 = PTR_DAT_000310f8 + iVar4 * 0xc + 0x7fc;
      iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2004);
      if ((iVar4 != 0) &&
         (iVar4 = (*(code *)PTR_strcmp_000312fc)(puVar14,PTR_DAT_00031108 + -0x2000), iVar4 != 0)) {
        bVar12 = *pbVar17;
        if ((bVar12 == 0) || (bVar1 = pbVar17[1], bVar1 == 0)) goto LAB_00014d64;
        iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff8);
        if ((iVar4 == 0) ||
           (iVar4 = (*(code *)PTR_strcmp_000312fc)(pbVar17,PTR_DAT_00031108 + -0x1ff4), iVar4 == 0))
        {
          bVar12 = 0;
          goto LAB_00014d64;
        }
        if (bVar12 == 0x5e) {
          if (bVar1 == 0x3f) goto LAB_00015430;
          bVar12 = bVar1 & 0x9f;
          goto LAB_00014d64;
        }
      }
      bVar12 = (*local_54)(pbVar17,0xff);
      goto LAB_00014d64;
    }
    puVar14 = (undefined *)*puVar19;
    iVar4 = iVar4 + 1;
    puVar19 = puVar19 + 3;
  } while (puVar14 != (undefined *)0x0);
LAB_00014c1c:
  iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,local_5c + -0x1fec);
  if (iVar4 == 0) {
    if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;
    iVar8 = unaff_s0 + 1;
    if (param_1 != 0) goto LAB_00014ae0;
    iVar4 = FUN_00012c40();
    pcVar22 = (code *)PTR_cfsetispeed_00031268;
LAB_00014c78:
    unaff_s0 = unaff_s0 + 1;
  }
  else {
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fe4);
    if (iVar4 == 0) {
      if ((param_4 + -1 == unaff_s0) || (*(int *)(pcVar16 + 4) == 0)) goto LAB_000153d8;
      iVar8 = unaff_s0 + 1;
      if (param_1 != 0) goto LAB_00014ae0;
      iVar4 = FUN_00012c40();
      pcVar22 = (code *)PTR_cfsetospeed_000312d0;
      goto LAB_00014c78;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fdc);
    if (iVar4 == 0) {
      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {
        iVar8 = unaff_s0 + 1;
        if (param_1 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);
        (*local_48)(uVar9,0xffffffff,param_2);
        goto LAB_00014ae0;
      }
LAB_000153d8:
      puVar14 = PTR_DAT_00031108 + -0x201c;
      goto LAB_000153e8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fd4);
    if ((iVar4 == 0) ||
       (iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fcc), iVar4 == 0)) {
      if ((param_4 + -1 != unaff_s0) && (*(int *)(pcVar16 + 4) != 0)) {
        iVar8 = unaff_s0 + 1;
        if (param_1 != 0) goto LAB_00014ae0;
        uVar9 = (*local_54)(*(int *)(pcVar16 + 4),0x7fffffff);
        (*local_48)(0xffffffff,uVar9,param_2);
        goto LAB_00014ae0;
      }
      goto LAB_000153d8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fc4);
    if (iVar4 == 0) {
      if (param_1 != 0) goto LAB_00014ae0;
      unaff_s0 = unaff_s0 + 1;
      uVar9 = FUN_00012cf4();
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13c8) = 0;
      FUN_0001352c(0,param_2);
      goto joined_r0x00014b3c;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1fbc);
    if (iVar4 == 0) {
      if (param_4 + -1 != unaff_s0) {
        iVar8 = *(int *)(pcVar18 + param_3 + 4);
        if (iVar8 != 0) {
          unaff_s0 = unaff_s0 + 1;
          uVar10 = (*local_54)(iVar8,0xffffffff);
          *(char *)(param_5 + 4) = (char)uVar10;
          if (uVar10 != (uVar10 & 0xff)) {
            uVar9 = (*(code *)PTR_dcgettext_000312c8)(0,PTR_DAT_00031108 + -0x1fb4,5);
            uVar7 = quote(*(int *)(pcVar18 + param_3 + 4));
            (*(code *)PTR_error_00031298)(0,0,uVar9,uVar7);
          }
          goto LAB_00015240;
        }
      }
      goto LAB_000153d8;
    }
    iVar4 = (*(code *)PTR_strcmp_000312fc)(pcVar23,PTR_DAT_00031108 + -0x1f98);
    if (iVar4 == 0) {
      if (param_1 != 0) goto LAB_00014ae0;
      unaff_s0 = unaff_s0 + 1;
      uVar9 = FUN_00012cf4();
      *(undefined4 *)(PTR_DAT_000310f8 + 0x13cc) = uVar9;
      FUN_00012ff4(param_5,0);
      goto joined_r0x00014b3c;
    }
    iVar4 = FUN_00012c40(pcVar23);
    if (iVar4 == -1) {
      puVar6 = local_3c;
      piVar15 = (int *)(*(code *)PTR___errno_location_00031250)();
      pcVar18 = pcVar23;
      goto LAB_0001550c;
    }
    if (param_1 != 0) goto LAB_00014ae0;
    (*(code *)PTR_cfsetispeed_00031268)(param_5,iVar4);
    pcVar22 = (code *)PTR_cfsetospeed_000312d0;
  }
  unaff_s0 = unaff_s0 + 1;
  (*pcVar22)(param_5,iVar4);
  *param_6 = 1;
  *param_7 = 1;
joined_r0x00014b3c:
  while (unaff_s4 = param_3, param_4 <= unaff_s0) {
LAB_00014b48:
    param_3 = unaff_s4;
    if (local_2c == *(uint *)puVar3) {
      return;
    }
    uVar10 = (*(code *)PTR___stack_chk_fail_000312c4)();
LAB_00015634:
    param_5[3] = uVar10 & 0xfffffffd;
    *param_7 = 1;
    iVar8 = unaff_s0;
LAB_00014ae0:
    unaff_s0 = iVar8 + 1;
  }
  goto LAB_00014af0;
  while( true ) {
    *puVar6 = uVar10;
    puVar6 = puVar6 + 1;
    pcVar18 = local_40 + 1;
    if (puVar6 == &local_2c) break;
LAB_0001550c:
    puVar14 = PTR_strtoul_0003127c;
    *piVar15 = 0;
    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);
    if (((*piVar15 != 0) || (*local_40 != ':')) || (local_40 == pcVar18)) goto LAB_00015614;
  }
  *param_5 = local_3c[0];
  param_5[1] = local_3c[1];
  param_5[2] = local_3c[2];
  param_5[3] = local_3c[3];
  puVar6 = param_5;
  while( true ) {
    puVar14 = PTR_strtoul_0003127c;
    *piVar15 = 0;
    cVar13 = ':';
    if ((int)puVar6 - (int)param_5 == 0x1f) {
      cVar13 = '\0';
    }
    uVar10 = (*(code *)puVar14)(pcVar18,&local_40,0x10);
    if (((*piVar15 != 0) || (*local_40 != cVar13)) ||
       ((local_40 == pcVar18 || (uVar10 != (uVar10 & 0xff))))) break;
    puVar20 = (uint *)((int)puVar6 + 1);
    *(char *)((int)puVar6 + 0x11) = (char)uVar10;
    pcVar18 = local_40 + 1;
    puVar6 = puVar20;
    if (param_5 + 8 == puVar20) {
LAB_00015240:
      *param_7 = 1;
      iVar8 = unaff_s0;
      goto LAB_00014ae0;
    }
  }
LAB_00015614:
  puVar14 = PTR_DAT_00031108 + -0x2030;
LAB_000153e8:
  iVar8 = (*(code *)PTR_dcgettext_000312c8)(0,puVar14,5);
LAB_000153f8:
  uVar9 = quote(pcVar23);
  (*(code *)PTR_error_00031298)(0,0,iVar8,uVar9);
  usage(1);
LAB_00015430:
  bVar12 = 0x7f;
LAB_00014d64:
  *(byte *)((int)param_5 + *(int *)(pcVar18 + 8) + 0x11) = bVar12;
  *param_7 = 1;
  goto LAB_00014ae0;
}

